【发布时间】:2017-05-03 07:14:29
【问题描述】:
我有一个比较大的列表。列表的每个元素都是六个元素的列表。这些元素中的每一个都是具有固定行数和可变列数的矩阵。我想组合这些矩阵,这样我最终得到一个包含六个矩阵的列表,其中每个矩阵是对每个子列表中的相应元素调用 cbind 的结果,即第一个矩阵是内部所有第一个矩阵的 cbind列表,第二个矩阵是第二个矩阵的 cbind,等等。
例如:
temp = list()
temp[["a"]] = list(matrix(1, nrow=2, ncol=1), matrix(2, nrow=2,ncol=2))
temp[["b"]] = list(matrix(3, nrow=2, ncol=3), matrix(4, nrow=2,ncol=4))
*调用一些 R 代码* 应该会输出
$`1`
[,1] [,2] [,3] [,4]
[1,] 1 3 3 3
[2,] 1 3 3 3
$`3`
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 2 2 4 4 4 4
[2,] 2 2 4 4 4 4
我可以看到电话
mapply(cbind, temp[[1]], temp[[2]])
为这个玩具示例生成所需的输出,但我是否为一个大列表执行此操作,从执行到执行可能有可变数量的元素。
是否有一个优雅而高效的解决方案?
提前致谢!
【问题讨论】: