2013-03-02 260 views
2

现在我有一个三维数组。我有200行,200列和第三维阵列的平均值矩阵

dim=c(200,200,24) 

我需要的是产生了新的矩阵切片的平均24“切片”。我需要200×200的矩阵,这些值是对相应切片进行平均的结果。所以在第1行,第1列的位置,我需要我的数组中所有第1行和第1列的平均值。

有没有办法做到这一点?

回答

2

下面是使用一个简单的例子一个尝试:

test <- 1:8 
dim(test) <- c(2,2,2) 

, , 1 

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

, , 2 

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

得到答案:

apply(test,c(1,2),mean) 

    [,1] [,2] 
[1,] 3 5 
[2,] 4 6 
+0

谢谢!这正是我所需要的。有没有一种方法可以选择我想要平均的特定切片?假设我只想要前三个平均值。 – user2113499 2013-03-02 04:41:39

+0

@ user2113499 - 尝试'apply(test [,1:3],c(1,2),mean)' - 你改变的部分在这里:'test [,, insert.vector.of.numbers.of。其中]' – thelatemail 2013-03-02 04:46:41

+0

谢谢!这有很大帮助 – user2113499 2013-03-02 05:13:28