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

在R中的列表中添加相应的元素,r,list,matrix,apply,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 ...

我有一个列表,包含从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
我试过mapplysum,lst[[1]],lst[[2]],lst[[3]],lst[[4]],lst[[5]]。这确实得到了总数,但是矩阵失去了它的形状,需要命名每个列表项,也许可以用5,但是如果我有100呢?

这样就可以了

Reduce('+', lst)
这应该可以

Reduce('+', lst)
如果您确实想使用mapply,我不建议在这里使用,您可以这样做。callmapply,clst,FUN=sum,但这将剥离矩阵属性。如果您确实想使用mapply,我不建议在这里使用,您可以这样做。callmapply,clst,FUN=sum,但这将剥离矩阵属性。