Использование apply на многомерном массиве в R - PullRequest
31 голосов
/ 07 июля 2010

Мне интересно, как использовать apply на многомерном массиве. У меня есть что-то вроде следующего:

A <- array(0, c(2, 2, 5))
for(i in 1:5) {
  A[, , i] <- matrix(rnorm(4), 2, 2)
}

Я бы хотел взять среднее значение этих срезов, чтобы получить одну матрицу 2 на 2. Любой способ, которым я придумаю, довольно грязный.

Я надеялся, что смогу использовать apply, как если бы я хотел получить среднее значение для столбцов матрицы:

B <- matrix(rnorm(10), 5, 2)
B.mean <- apply(B, 2, mean)

Но, похоже, это не работает так, как я думаю, с 3D-массивами:

A.mean <- apply(A, 3, mean)

Я ценю ваши предложения.

1 Ответ

37 голосов
/ 07 июля 2010
A.mean <- apply(A, c(1,2), mean)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...