gpt4 book ai didi

r - 如何查找一个向量中不在另一个向量中的元素(不使用 setdiff)

转载 作者:行者123 更新时间:2023-12-01 17:34:08 25 4
gpt4 key购买 nike

我有两个向量,

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com