我有一个包含多个矩阵(从 2 到 n)的列表。为简单起见,假设我有一个包含 5 个矩阵的列表,如下所示。
> lst
[[1]]
[,1] [,2] [,3] [,4] [,5]
[1,] 1 1 1 1 1
[2,] 1 1 1 1 1
[[2]]
[,1] [,2] [,3] [,4] [,5]
[1,] 2 2 2 2 2
[2,] 2 2 2 2 2
...
[[5]]
[,1] [,2] [,3] [,4] [,5]
[1,] 5 5 5 5 5
[2,] 5 5 5 5 5
如何执行操作(类似于 colSums,但用于列表)将它们相加并获得单个矩阵作为输出:
[,1] [,2] [,3] [,4] [,5]
[1,] 15 15 15 15 15
[2,] 15 15 15 15 15
我试过了mapply(sum,lst[[1]],lst[[2]],lst[[3]],lst[[4]],lst[[5]])
。这确实让我得到了总和,但是矩阵失去了它的形状并且需要命名每个列表项(也许 5 可以,但如果我有 100 怎么办?)。