gpt4 book ai didi

r - 对多个向量调用 setdiff()

转载 作者:行者123 更新时间:2023-12-02 19:41:42 24 4
gpt4 key购买 nike

如何在 R 中使用 setdiff() 来获取一个向量中但不在其他向量中的元素我的示例如下:

dat1 <- c("osa", "bli", "usd", "mnl")
dat2 <- c("mnu", "erd", "usd", "mnl")
dat3 <- c("ssu", "erd", "usd", "mnl")

以下代码仅返回 dat1 与 dat2 和 dat3 相比的不同之处:

diffs <- Reduce(setdiff, 
list(A = dat1,
B = dat2,
C = dat3
)

如何修改此代码,以便能够获取与另一个向量相比唯一存在于一个向量中的所有元素?谢谢

最佳答案

使用setdiff的另一个解决方案:

myl <- list(A = dat1,
B = dat2,
C = dat3)
lapply(1:length(myl), function(n) setdiff(myl[[n]], unlist(myl[-n])))

[[1]]
[1] "osa" "bli"

[[2]]
[1] "mnu"

[[3]]
[1] "ssu"

关于r - 对多个向量调用 setdiff(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22684475/

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