我一直在使用一个向量对一个数据帧进行正子集,它工作得很好现在我想使用相同的向量来对数据帧进行负子集。
我收到一条错误消息(一元运算符的参数无效),但在谷歌搜索之后,我仍然不明白这是什么意思。
谢谢你的帮助!
# Starting point
df_main <- data.frame(coat=c(1:5),hanger=c(1:5),book=c(1:5),dvd=c(1:5),bookcase=c(1:5),
clock=c(1:5),bottle=c(1:5),curtains=c(1:5),wall=c(1:5))
df_keep <- data.frame(keep_var=c("coat","hanger","book","wall","bottle"),othvar=c("r","w","r","w",NA))
# Vector
library(dplyr)
keep.vec <- as.character(
(df_keep %>% dplyr::filter(is.na(othvar) | othvar == 'r'))$keep_var
)
# Attempts at using vector for negative subsetting
df_main %>% dplyr::select(-keep.vec)
df_main[-keep.vec, ]