2012-10-24 27 views
6

Czy istnieje jakaś szybka metoda lub wbudowana funkcja w R do obliczania wartości średnich na podstawie trzeciego wymiaru?Znaczenie trzeciego wymiaru w R

Na przykład moja tablica jest:

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

, , 2 
    [,1] [,2] 
[1,] 11 13 
[2,] 12 14 

, , 3 
    [,1] [,2] 
[1,] 21 23 
[2,] 22 24 

moje wyjście byłoby:

  [,1]  [,2] 
[1,] mean(1,11,21) mean(3,13,23) 
[2,] mean(2,12,22) mean(4,14,24) 

Dzięki!

+0

[Co próbowałeś?] (Http://whathaveyoutried.com) –

Odpowiedz

13

?apply jest Twoim przyjacielem w tego typu zadaniach.

# Make the sample data 
j <- array(c(1:4, 11:14, 21:24), c(2,2,3)) 
# For each combination in the 1st and 2nd dimension 
# average over the values in the 3rd. 
apply(j, c(1,2), mean) 
+0

Dzięki! Po prostu nie przywykłem do logiki R. –

+0

Cześć, a co z 4 wymiarami? Chcę znaleźć średnią wszystkich wartości w każdym wierszu, to byłoby wtedy zastosować (nazwa macierzy, c (1, 3, 4), średnia) '? – Duc

Powiązane problemy