我有两个向量
x <- c(1,2,2,3,4)
y <- c(1,2,3)
而且我想获得x中不在y中的元素的另一个向量;因此在这种情况下(2,4)。
我已经尝试过使用setdiff()函数,但这没有考虑重复项(它只会返回4),因此我不确定该如何处理。
谢谢!
最佳答案
也许试试这个:
x[-match(y,x,nomatch = 0)]
nomatch = 0
是必需的,以避免将NA与负下标混合。如评论中所述,要处理其他重复项,另一种选择可能是使用软件包 vecsets 中的
vsetdiff
:library(vecsets)
x = c(1, 2, 2, 3, 3, 4)
y = c(1, 2, 2, 3)
> vsetdiff(x,y)
[1] 3 4
关于r - 如何查找一个向量中不在另一个向量中的元素(不使用setdiff),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55696519/