[英]Combinations of vectors (1 x n) taken m at a time from a matrix (k x n)
我是这个论坛的新手。 我在R工作。
我有一个matrix (kxn)
,我必须考虑一次,2、3、4的行vectors (1 xn)
所有组合。
例:
考虑矩阵m = diag(c(rep(1, 3)))
,
我想要一次取2的三行向量(1 xn)
的组合:
first: (1,0,0) and (0,1,0)
second: (1,0,0) and (0,0,1)
third: (0,1,0) and (0,0,1)
再过一会,我需要为每对夫妇计算列上的总和。 有什么建议吗?
谢谢!
m <- diag(c(rep(1, 3)))
tmp <- combn(nrow(m), 2)
array(t(m[tmp,]), c(ncol(m), 2, ncol(tmp)))
#, , 1
#
# [,1] [,2]
#[1,] 1 0
#[2,] 0 1
#[3,] 0 0
#
#, , 2
#
# [,1] [,2]
#[1,] 1 0
#[2,] 0 0
#[3,] 0 1
#
#, , 3
#
# [,1] [,2]
#[1,] 0 0
#[2,] 1 0
#[3,] 0 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.