2013-03-02 1 views
2

Прямо сейчас у меня есть массив трехмерных размеров. У меня есть 200 строк, 200 столбцов и 24 «срезов» в третьем измеренииМатрица средних значений из массива

dim=c(200,200,24) 

Что мне нужно в среднем ломтиков, в результате новой матрицы. Мне нужна матрица 200-200, и значения являются результатом усреднения соответствующих срезов. Поэтому в месте, где будет строка 1, col 1, мне нужно среднее значение всех строк 1 и col 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

+0

@ user2113499 - попробуйте 'apply (test [,, 1: 3], c (1,2), mean)' - часть, которую вы меняете, находится здесь: 'test [,, insert.vector.of.numbers.of. slices.here] ' – thelatemail

+0

Спасибо! Это очень помогло – user2113499

 Смежные вопросы

  • Нет связанных вопросов^_^