如何找到R中多个矩阵的对应元素的均值?

如果多个矩阵的元素表示相同类型的特征,则我们可能希望找到这些元素的均值。例如,如果我们将矩阵M1,M2,M3和M4存储在列表中,并且第一个元素表示特定事物的速率,例如雨季中生锈铁的腐烂速率,那么我们可能希望找到均值矩阵M1,M2,M3和M4的第一个元素的元素。可以通过使用Reduce函数找到该平均值。

示例

请看以下矩阵及其列表-

> M1<-matrix(1:25,nrow=5)
> M1

输出结果

   [,1] [,2] [,3] [,4] [,5]
[1,] 1    6    11   16  21
[2,] 2    7    12   17   22
[3,] 3    8    13  18    23
[4,] 4    9    14  19    24
[5,] 5    10   15  20    25
> M2<-matrix(1:25,nrow=5)
> M3<-matrix(1:25,nrow=5)
> M4<-matrix(1:25,nrow=5)
> List_M<-list(M1,M2,M3,M4)
> List_M

输出结果

[[1]]
   [,1] [,2] [,3] [,4] [,5]
[1,] 1    6    11    16 21
[2,] 2    7    12    17 22
[3,] 3    8    13    18 23
[4,] 4    9    14    19 24
[5,] 5    10    15    20 25
[[2]]
   [,1] [,2] [,3] [,4] [,5]
[1,] 1    6    11    16 21
[2,] 2    7    12    17 22
[3,] 3    8    13    18 23
[4,] 4    9    14    19 24
[5,] 5    10    15    20 25
[[3]]
   [,1] [,2] [,3] [,4] [,5]
[1,] 1    6    11    16 21
[2,] 2    7    12    17 22
[3,] 3    8    13    18 23
[4,] 4    9    14    19 24
[5,] 5    10    15    20 25
[[4]]
   [,1] [,2] [,3] [,4] [,5]
[1,] 1    6    11    16 21
[2,] 2    7    12    17 22
[3,] 3    8    13    18 23
[4,] 4    9    14    19 24
[5,] 5    10    15    20 25

在每个矩阵中找到对应元素的均值-

> Reduce("+",List_M)/length(List_M)

输出结果

   [,1] [,2] [,3] [,4] [,5]
[1,] 1    6    11   16 21
[2,] 2    7    12   17 22
[3,] 3    8    13   18 23
[4,] 4    9    14   19 24
[5,] 5    10    15  20 25

让我们看另一个例子-

示例

> M1<-matrix(sample(1:10,16,replace=TRUE),ncol=4)
> M1

输出结果

   [,1] [,2] [,3] [,4]
[1,] 6    7    3    2
[2,] 10   10  3    1
[3,] 7    6    6    5
[4,] 6    7    3    10

示例

> M2<-matrix(sample(1:10,16,replace=TRUE),ncol=4)
> M2

输出结果

   [,1] [,2] [,3] [,4]
[1,] 9    2    5    7
[2,] 9    4    4    3
[3,] 4    6    8    6
[4,] 3    7    7    5

示例

> M3<-matrix(sample(1:10,16,replace=TRUE),ncol=4)
> M3

输出结果

   [,1] [,2] [,3] [,4]
[1,] 2    10    3    8
[2,] 8    10    2    8
[3,] 9    6    2    6
[4,] 8    8    6    9

示例

> M4<-matrix(sample(1:10,16,replace=TRUE),ncol=4)
> M4

输出结果

   [,1] [,2] [,3] [,4]
[1,] 8    3    8    5
[2,] 7    5    5    7
[3,] 1    9    1    4
[4,] 10   1    8    9

示例

> List_new<-list(M1,M2,M3,M4)
> List_new

输出结果

[[1]]
   [,1] [,2] [,3] [,4]
[1,] 6    7    3    2
[2,] 10   10  3    1
[3,] 7    6    6    5
[4,] 6    7    3   10
[[2]]
   [,1] [,2] [,3] [,4]
[1,] 9    2    5    7
[2,] 9    4    4    3
[3,] 4    6    8    6
[4,] 3    7    7    5
[[3]]
   [,1] [,2] [,3] [,4]
[1,] 2    10    3    8
[2,] 8    10    2    8
[3,] 9    6    2    6
[4,] 8    8    6    9
[[4]]
   [,1] [,2] [,3] [,4]
[1,] 8    3    8    5
[2,] 7    5    5    7
[3,] 1    9    1    4
[4,] 10    1   8    9


> Reduce("+",List_new)/length(List_new)

输出结果

   [,1]    [,2]    [,3]    [,4]
[1,] 6.25    5.50    4.75  5.50
[2,] 8.50    7.25    3.50   4.75
[3,] 5.25    6.75    4.25    5.25
[4,] 6.75    5.75    6.00    8.25