Using apply on a multidimensional array in R
I am wondering how to use apply on a multidimensional array. I have something like the following:
A <- array(0, c(2, 2, 5))
for(i in 1:5) {
A[, , i] <- matrix(rnorm(4), 2, 2)
}
I would like to take the average of those slices to get a single 2 by 2 matrix. Any way I come up with is pretty kludgy.
I was hoping to be 开发者_Go百科able to use apply, like I would if I wanted the average say of the columns of a matrix:
B <- matrix(rnorm(10), 5, 2)
B.mean <- apply(B, 2, mean)
But this doesn't seem to work the way I think it might with 3D arrays:
A.mean <- apply(A, 3, mean)
I appreciate your suggestions.
A.mean <- apply(A, c(1,2), mean)
精彩评论