我有两个大列表和小列表。我想知道大列表中的哪些元素不在小列表中。该列表由属性组成
([1] "character" "vector" "data.frameRowLabels"
[4] "SuperClassMethod"
这是我遇到的小例子和错误
A <- c("A", "B", "C", "D")
B <- c("A", "B", "C")
new <- A[!B]
Error in !B : invalid argument type
预期输出是新的<- c("D")
最佳答案
查看 help("%in%")
- 该页面底部有一个示例可以解决这种情况。
A <- c("A", "B", "C", "D")
B <- c("A", "B", "C")
(new <- A[which(!A %in% B)])
# [1] "D"
编辑:
正如 Tyler 指出的那样,我应该听取自己的建议并阅读支持文档。在此示例中使用 %in%
时,不需要 which()
。所以,
(new <- A[!A %in% B])
# [1] "D"
关于r - 不在较小的字符向量列表中而是在大列表中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10298662/