【发布时间】:2014-02-08 05:52:28
【问题描述】:
我有一个具有相同维度的矩阵列表,例如:
mat.list=rep(list(matrix(rnorm(n=12,mean=1,sd=1), nrow = 3, ncol=4)),3)
我正在寻找一种有效的方法来从列表中的每个矩阵中检索一列,其中每个矩阵中感兴趣的列索引由向量指定。例如,对于这个列索引向量:
idx.vec=c(3,2,3)
我想从矩阵 1 中获取第 3 列,从矩阵 2 中获取第 2 列,从矩阵 3 中获取第 3 列,作为矩阵,这样矩阵的维度就是列表中矩阵的行数乘以列表中的矩阵。
对于这个例子,结果将是:
cbind(mat.list[[1]][,3],mat.list[[2]][,2],mat.list[[3]][,3])
[,1] [,2] [,3]
[1,] 1.4852810 1.305448 1.4852810
[2,] 1.8647327 -1.237507 1.8647327
[3,] -0.0416013 2.156055 -0.0416013
【问题讨论】: