Functional way to stack list of 2d matrices into 3d matrix
↑从这个问题中我知道我可以使用simplify2array
来完成这项任务。
但是,它不能解决我的问题。不幸的是,我只是不知道如何在没有示例的情况下描述问题。
l = list()
l[[1]] = matrix(1:110, nrow=10)
l[[2]] = matrix(110:1, nrow=10)
l = simplify2array(l)
dim(l)
此打印:
10 11 2
问题是,我希望以其他方式设置尺寸。我希望dim(l)
打印:
2 11 10
如何实现?
答案 0 :(得分:3)
使用aperm
作为广义转置(其中a
如末尾的注解中所示。)
aa <- aperm(a, 3:1)
dim(aa)
## [1] 2 11 10
我们假设输入a
为:
l = list()
l[[1]] = matrix(1:110, nrow=10)
l[[2]] = matrix(110:1, nrow=10)
a <- simplify2array(l)