【发布时间】:2019-04-05 07:43:54
【问题描述】:
我的代码有效,但我使用的是嵌套的 for 循环,这不是最好的方法。有没有更快的方法来检查向量列表是否包含其他向量的子集?例如,我有一个名为“a”的向量列表,其中包含任意数量的向量:
a = list()
a[[1]] = c(1, 2)
a[[2]] = c(2, 3, 5)
a[[3]] = c(1, 2, 4, 6)
a[[4]] = c(9, 4)
我想检查 a[[n]] 是否是列表中任何其他向量的子集。因此,在我的示例中,只有 a[[1]] 是 a[[3]] 的子集,这是我的代码。
for (i in 1:length(a)) {
for (j in 1:length(a)) {
if(all(a[[i]] %in% a[[j]]) && i != j) {
#do stuff...
}
}
}
本质上它是在询问列表是否包含重复的向量。谢谢你的帮助。
【问题讨论】:
标签: r vector duplicates subset