繁体   English   中英

从矩阵(kxn)一次获取m的向量(1 xn)的组合

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM