我试图从向量all.variables中提取一些元素,如下所示: 请注意,矢量具有较高的形状,但在这里我举一个例子:
这是第一个向量:
> new.var<-unique(most.correlated$Var1)
> new.var[1:10]
[1] "5a648a09d" "86f13324d" "343042ed9" "29eddc376" "7a34c9e13" "ebbd8432c" "4a20b79b4" "f553483a0" "22abeffb6"
[10] "c4de134af"
第二个是:
> all.variables<-as.vector(most.correlated$Var1)
> all.variables[1:10]
[1] "5a648a09d" "86f13324d" "343042ed9" "29eddc376" "7a34c9e13" "ebbd8432c" "4a20b79b4" "f553483a0" "22abeffb6"
[10] "c4de134af"
然后,我需要从向量all.variables
中提取两个向量all.variables
和new.var
中都不的元素。
所以我写这段代码:
delete.variables<-all.variables[which(!all.variables %in% new.var)]
结果是:
> delete.variables
character(0)
这很奇怪,因为在实际情况下,它应该给出一个包含许多元素的向量!我不明白这里出了什么问题? 预先谢谢你!
答案 0 :(得分:1)
这可能有效。删除感叹号并添加减号
delete.variables<-all.variables[-which(all.variables %in% new.var)]
答案 1 :(得分:0)
dplyr中有很好的anti_join函数,可以选择此类元素
data.frame(name=allvar)%>% anti_join(data.frame(name=newvar), by="name")