请问,向量myvector内各元素均是向量,如何实现myvector内各向量之间两两比较呢,我这里的目的是要取myvector内各向量两两之间的交集。
例如,a <- c(1,2,3,4);b <- c(1,3,5,7,8,9);d <- c(1,2,5,7,9);e <- c(1,3,4,8,0,10);f <- c(2,3)
myvector <- c(a,b,d,e,f)
如何实现myvector内各向量的两两之间的交集取相同值。非常感谢!
> a <- 1:4
> combn(a,2)
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 1 1 2 2 3
[2,] 2 3 4 3 4 4
> t(combn(a,2))
[,1] [,2]
[1,] 1 2
[2,] 1 3
[3,] 1 4
[4,] 2 3
[5,] 2 4
[6,] 3 4
如果向量有命名,用 combn(names(a),2) 也可。
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢
a <- c(1,2,3,4);b <- c(1,3,5,7,8,9);d <- c(1,2,5,7,9);e <- c(1,3,4,8,0,10);f <- c(2,3)
myvector <- c(a,b,d,e,f)
combn(myvector,2)
final_result <- t(combn(myvector,2))
head(final_result)结果如下,不是想要的结果
head(final_result)
[,1] [,2]
[1,] 1 2
[2,] 1 3
[3,] 1 4
[4,] 1 1
[5,] 1 3
[6,] 1 5
简而言之,请问如何使下面代码简化呢。
intersect1 <- intersect(a,b);intersect2 <- intersect(a,d);intersect3 <- intersect(a,e);
intersect4 <- intersect(a,f);intersect5 <- intersect(b,d)。。。。。