我有以下情况:在向量寻找元素重复或不在另一个向量
vec1 <- c("A", "B", "D", "C", "E", "A", "C")
vec2 <- c("A", "B", "C", "D", "F")
第一个问题:哪一个是重复的? - 解答 “A” 和 “C” 为VEC1,0为VEC2
第二个问题:确定其是VEC1但不是在VEC2,不论顺序(回答 “E”)
,或者反之亦然(回答“ F“)
which(vec1 !=vec2)
which(vec2 !=vec1)
[1] 3 4 5 7
Warning message:
In vec1 != vec2 :
longer object length is not a multiple of shorter object length
这不是我所期待....
@ttmacer,'setdiff'下面提示等价于'unique(which(!vec2%in%vec1))',这在这里更合适。 – flodel
如果您已经阅读过R的文档,包括按元素比较向量的位以及'which'函数的描述,那么它将完全符合您的预期。 – Spacedman