我有两个字符向量,x和y。
x <- c("a", "b", "c", "d", "e", "f", "g")
y <- c("a", "c", "d", "e", "g")
x内的值不会重复(即它们都是唯一的)。矢量y也是如此。我的问题是,如何让R比较两个向量,然后告诉我哪些元素相对于x缺少y?否则说明,我希望R告诉我y中缺少“b”和“f”。
(注意,在我的实际数据中,x和y每个包含几千个观察,这就是为什么我想以编程方式执行此操作。可能有一个非常简单的答案,但我不确定要搜索什么在R帮助文件中。)
感谢任何可以提供帮助的人!
答案 0 :(得分:34)
setdiff(x,y)
将为你做好工作。
答案 1 :(得分:9)
> x[!x %in% y]
[1] "b" "f"
或:
> x[-match(y,x)]
[1] "b" "f"
>
答案 2 :(得分:6)
我认为这应该有效:
x[!(x %in% y)]
首先检查所有不在y中的x,然后将其用作原始索引。