在R中的列表中添加相应的元素
我有一个列表,包含从2到n的多个矩阵。为了简单起见,假设我有一个5个矩阵的列表,如下所示在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 ...
> 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,但这将剥离矩阵属性。