2012-10-24 11 views
6

Esiste un modo rapido o una funzione incorporata in R per calcolare i valori medi in base alla terza dimensione?Media sulla terza dimensione in R

Per esempio il mio array è:

, , 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 

La mia uscita sarebbe:

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

Grazie!

+0

[Cosa hai provato?] (Http://whathaveyoutried.com) –

risposta

13

?apply è il tuo amico per questi tipi di attività.

# 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

Grazie! Semplicemente non abituato alla logica di R. –

+0

Ciao, che ne dici di 4 dimensioni? Voglio trovare la media di tutti i valori in ogni riga, sarebbe quindi 'applicare (nome matrice, c (1, 3, 4), significa)'? – Duc

Problemi correlati