首页 文章

R不在子集中[重复]

提问于
浏览
54

可能重复:从数据框中删除多个元素的标准方法

我知道在R中,如果你正在搜索另一个组的子集或基于id的匹配,你会使用类似的东西

subset(df1, df1$id %in% idNums1)

我的问题是如何做相反的事情或选择不匹配ids矢量的项目 .

我尝试使用 ! 但收到错误消息

subset(df1, df1$id !%in% idNums1)

我认为我的备份是这样做的:

matches <- subset(df1, df1$id %in% idNums1)
nonMatches <- df1[(-matches[,1]),]

但我希望有一些更高效的东西 .

1 回答

  • 109

    表达式 df1$id %in% idNums1 生成逻辑向量 . 要否定它,你需要否定整个向量:

    !(df1$id %in% idNums1)
    

相关问题