我有一个向量列表,长度可变。我想知道,对于所有的成对向量,它们是否包含共同的信息?下面是一个例子:
列表x有三个向量a,B和c。a和c都包含1,所以这个比较应该返回true。没有其他比较应该返回true。我已经尝试了以下解决方案。我认为outer是解决这个问题的最佳方法,但它目前对所有比较都返回true,这不是我预期的结果。
xx = list(a = 1,
b = c(2, 3),
c = c(1, 4, 6))
outer(xx, xx, "%in%")
outer(xx, xx, function(x, y) x %in% y)
func2 = function(x, y){z = cbind(x, y); z[,1] %in% z[,2]}
outer(xx, xx, func2)
Map("%in%", xx, xx)
预期结果:
a, b, c
a, T, F, T
b, F, T, F
c, T, F, T
1条答案
按热度按时间jbose2ul1#
我发现了这一点-尽管我不明白这个解决方案背后的逻辑。
看起来在Vectorize中 Package 函数提供了预期的输出。