Comment calculer la moyenne géométrique dans R (avec exemples)



Vous pouvez utiliser la syntaxe suivante pour calculer la moyenne géométrique d’un ensemble de nombres dans R :

exp(mean(log(x)))

Les exemples suivants montrent comment utiliser cette fonction dans la pratique.

Exemple 1 : calculer la moyenne géométrique du vecteur

Le code suivant montre comment calculer la moyenne géométrique d’un seul vecteur dans R :

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

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

[1] 9.579479

Exemple 2 : calculer la moyenne géométrique d’un vecteur avec des zéros

Si votre vecteur contient des zéros ou des nombres négatifs, la formule ci-dessus renverra un 0 ou un NaN.

Pour ignorer les zéros et les nombres négatifs lors du calcul de la moyenne géométrique, vous pouvez utiliser la formule suivante :

#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

Exemple 3 : calculer la moyenne géométrique des colonnes dans le bloc de données

Le code suivant montre comment calculer la moyenne géométrique d’une colonne dans un bloc de données :

#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

Et le code suivant montre comment calculer la moyenne géométrique de plusieurs colonnes dans un bloc de données :

#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))))

       a        b        d 
4.567508 9.871128 9.579479 

Ressources additionnelles

Comment calculer la moyenne par groupe dans R
Comment calculer une moyenne pondérée dans R
Comment calculer l’erreur type de la moyenne dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *