阵列内多维度观测的平均值

时间:2018-02-02 10:06:45

标签: arrays r mean

我有一个数组如下:

ar.1 = array(1:12, dim=c(2,2,3))

> ar.1
, , 1

     [,1] [,2]
[1,]    1    3
[2,]    2    4

, , 2

     [,1] [,2]
[1,]    5    7
[2,]    6    8

, , 3

     [,1] [,2]
[1,]    9   11
[2,]   10   12

我只需要计算3个不同层中的值之间的平均值,并获得一个二维矩阵。

预期产出:

5  7  
6  8


5 = (1+5+9) / 3
6 = (2+6+10) / 3
etc..

它应该非常简单但我找不到任何快速解决方案,因为我的实际数组大于2x2x3。

由于

1 个答案:

答案 0 :(得分:1)

试试这个

matrix(rowMeans(apply(ar.1, 3, c)), dim(ar.1)[1], dim(ar.1)[2])

#      [,1] [,2]
#[1,]    5    7
#[2,]    6    8