gpt4 book ai didi

r - 在 m 个向量中的至少 n 个中查找共享元素 (n < m)

转载 作者:行者123 更新时间:2023-12-01 09:33:44 25 4
gpt4 key购买 nike

lists <- lapply(vector("list", 5), function(x) sample(1:100,50,replace=T))

如何提取列表(或通常在向量群体中)中至少 n (2,3,4,5) 个向量中存在的所有值?
对于n=5,这个question已经给出了一个解决方案(例如 intersect()),但对于 n < m 的情况我不清楚。在这种特殊情况下,我在两组之间进行了 5 种均值比较,并希望在 5 次测试之间得出共识(例如,至少 3 次测试中存在显着差异)。

最佳答案

如果我理解正确的话,你可以按如下方式进行。假设您对至少 3 个列表元素之间共享的值感兴趣。

combos <- combn(seq_along(lists), 3, simplify = FALSE)
lapply(combos, function(i) Reduce(intersect, lists[i]))

如果您只对实际值感兴趣,

unique(unlist(lapply(combos, function(i) Reduce(intersect, lists[i]))))

combos 中,我们存储长度为 n(此处为 3)的列表的所有可能组合。

关于r - 在 m 个向量中的至少 n 个中查找共享元素 (n < m),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48707155/

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