среднее значение каждой матрицы массива в R


Я должен вычислить среднее значение каждой матрицы n размерности массива. Поскольку я новичок в R, кто-нибудь может мне помочь. Например

M = 4
m = array(1:10, dim= c(10, 1, M))
m
z = matrix(NA, M,1)
for (i in 1:z){
for (j in 1:z){
z[i, j] = mean(m[ , , i])
}
}
z

Я пробовал выше способ, но его неверный

2 4

2 ответа:

1) применить попробовать apply

apply(m, 3, mean)
## [1] 5.5 5.5 5.5 5.5

2) цикл или сделать это в цикле:

n <- dim(m)[3]
result <- numeric(n)
for(i in 1:n) result[i] <- mean(m[,,i])
result
## [1] 5.5 5.5 5.5 5.5

3) переформуйте или переформуйте его в матрицу и возьмите столбец means. n идет сверху.

colMeans(matrix(m,, n))
## [1] 5.5 5.5 5.5 5.5

Насколько я понимаю, функция mean предоставляет свой ответ в виде матрицы 1 x 1, которая, как я предполагаю, является тем, что вы ищете, поскольку вы не ссылались на среднее значение по строкам или столбцам.

Вот некоторые подробности по теме Из предыдущего поста: Как получить среднюю, медиану и другие статистические данные по всей матрице, массиву или фрейму данных?