我有以下情況:在向量尋找元素重複或不在另一個向量
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