在R中的列表中添加相应的元素

lol*_*tu2 1 r list matrix apply

我有一个包含多个矩阵的列表(从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
Run Code Online (Sandbox Code Playgroud)

如何执行操作(类似colSums但列表)以将这些操作添加到一起并获得单个矩阵作为输出:

     [,1] [,2] [,3] [,4] [,5]
[1,]   15   15   15   15   15
[2,]   15   15   15   15   15
Run Code Online (Sandbox Code Playgroud)

我试过了mapply(sum,lst[[1]],lst[[2]],lst[[3]],lst[[4]],lst[[5]]).这确实得到了我的总和,但矩阵失去了它的形状,需要命名每个列表项(可能没有5,但如果我有100?).

edd*_*ddi 9

这应该做到这一点

Reduce('+', lst)
Run Code Online (Sandbox Code Playgroud)