如何从R中的矩阵列表中获得均值矩阵

时间:2014-02-25 05:21:58

标签: r list matrix permutation

我有一个名为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个矩阵中每个索引的平均值?谢谢。

1 个答案:

答案 0 :(得分:1)

如果你想获得每个位置中元素的平均值,你可能想要总结all_permutations的元素,然后除以元素的数量。

如果您输入此内容,则可以执行以下操作:

(all_permutations[[1]] + all_permutations[[2]] + ... ) / length(all_permutations)

幸运的是,Reduce函数可以为您节省大量的输入(或者更可能是for循环):

Reduce("+", all_permutations) / length(all_permutations)