我有一个包含多个矩阵的列表(从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?)。
答案 0 :(得分:9)
这应该这样做
Reduce('+', lst)