在 R 中列出多个向量上的唯一元素

KES*_*KES 6 r vector unique

我有三个向量(a、b 和 c),并使用以下方法找到了所有三个向量中的公共元素

common<-Reduce(intersect,list(a,b,c))
Run Code Online (Sandbox Code Playgroud)

我现在想找出哪些元素是 a 独有的。我不能使用,a[!(a%in%common)]因为它可以返回 a 和另一个向量中的元素。

我不认为这是一个新的或独特的问题,但我在寻找答案时遇到的部分问题是我不确定该a[!(a%in%common)]函数的名称。

use*_*452 5

您可以reduce对任意长度的列表使用和 setdiff

Reduce(setdiff, list(a,b,c))
Run Code Online (Sandbox Code Playgroud)


42-*_*42- 0

setdiff(a, union(b,c) )  # .....
Run Code Online (Sandbox Code Playgroud)

当然取决于“unique to a”的含义对你和我来说是否相同,但对我来说它与 不同a[!(a%in%common)]