Come calcolare la media geometrica in r (con esempi)


È possibile utilizzare la seguente sintassi per calcolare la media geometrica di un insieme di numeri in R:

 exp(mean(log(x)))

I seguenti esempi mostrano come utilizzare questa funzione nella pratica.

Esempio 1: Calcola la media geometrica del vettore

Il codice seguente mostra come calcolare la media geometrica di un singolo vettore in R:

 #definevector
x <- c(4, 8, 9, 9, 12, 14, 17)

#calculate geometric mean of values in vector
exp(mean(log(x)))

[1] 9.579479

Esempio 2: Calcola la media geometrica di un vettore con zeri

Se il tuo vettore contiene zeri o numeri negativi, la formula sopra restituirà uno 0 o un NaN.

Per ignorare gli zeri e i numeri negativi durante il calcolo della media geometrica, è possibile utilizzare la seguente formula:

 #define vector with some zeros and negative numbers
x <- c(4, 8, 9, 9, 12, 14, 17, 0, -4)

#calculate geometric mean of values in vector
exp(mean(log(x[x > 0])))

[1] 9.579479

Esempio 3: calcolare la media geometrica delle colonne nel data frame

Il codice seguente mostra come calcolare la media geometrica di una colonna in un frame di dati:

 #define data frame
df <- data. frame (a=c(1, 3, 4, 6, 8, 8, 9),
                 b=c(7, 8, 8, 7, 13, 14, 16),
                 c=c(11, 13, 13, 18, 19, 19, 22),
                 d=c(4, 8, 9, 9, 12, 14, 17))

#calculate geometric mean of values in column 'a'
exp(mean(log(df$a)))

[1] 4.567508

E il codice seguente mostra come calcolare la media geometrica di più colonne in un frame di dati:

 #define data frame
df <- data. frame (a=c(1, 3, 4, 6, 8, 8, 9),
                 b=c(7, 8, 8, 7, 13, 14, 16),
                 c=c(11, 13, 13, 18, 19, 19, 22),
                 d=c(4, 8, 9, 9, 12, 14, 17))

#calculate geometric mean of values in column 'a', 'b', and 'd'
apply(df[, c(' a ', ' b ', ' d ')], 2, function (x) exp(mean(log(x))))

       abd
4.567508 9.871128 9.579479

Risorse addizionali

Come calcolare la media per gruppo in R
Come calcolare una media ponderata in R
Come calcolare l’errore standard della media in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *