我有一个名为all_permutations的变量中存储的100个50 * 50矩阵的列表。
> str(all_permutations)
List of 100
$ : num [1:50, 1:50] 0 0.00972 0.34989 0 0.0019 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:50] "G1" "G2" "G3" "G4" ...
.. ..$ : chr [1:50] "G1" "G2" "G3" "G4" ...
$ : num [1:50, 1:50] 0 0.00972 0.34989 0 0.0019 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:50] "G1" "G2" "G3" "G4" ...
.. ..$ : chr [1:50] "G1" "G2" "G3" "G4" ...
有没有一种优雅的方法来获得所有这些矩阵的均值而不构造双重for循环来获得所有100个矩阵中每个索引的平均值?谢谢。
答案 0 :(得分:1)
如果你想获得每个位置中元素的平均值,你可能想要总结all_permutations
的元素,然后除以元素的数量。
如果您输入此内容,则可以执行以下操作:
(all_permutations[[1]] + all_permutations[[2]] + ... ) / length(all_permutations)
幸运的是,Reduce
函数可以为您节省大量的输入(或者更可能是for
循环):
Reduce("+", all_permutations) / length(all_permutations)