r - 不在较小的字符向量列表中而是在大列表中查找元素

标签 r list character subset

我有两个大列表和小列表。我想知道大列表中的哪些元素不在小列表中。该列表由属性组成

([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/

相关文章:

R:对所有列进行 t 检验

r - 如何在 select 中的 dplyr 函数中传递列参数?

Python:在理解中重复函数调用的更好解决方案

c# - XML Serialize 可序列化对象的通用列表

facebook - 不可见字符 - ASCII

python - 如何使用 Python 将文本文件中的 Unicode 字符替换为土耳其语字符

c - C 中的字符输入和切换大小写有问题吗?

r - 如何在 R 中具有多个标题行的弹性表中设置标题标签?

c# - 为什么 List.Count() 和 IEnumerable.Count() 返回不同的结果?

r - 将 AUC 0.8 的任意曲线添加到 ROC 图