Comment calculer une moyenne cumulative dans R



Une moyenne cumulative nous indique la moyenne d’une série de valeurs jusqu’à un certain point.

Vous pouvez utiliser les méthodes suivantes pour calculer la moyenne cumulée des valeurs dans R :

Méthode 1 : utiliser Base R

cum_avg <- cumsum(x) / seq_along(x)

Méthode 2 : utiliser dplyr

library(dplyr)

cum_avg <- cummean(x)

Les deux méthodes renvoient exactement le même résultat, mais la méthode dplyr a tendance à fonctionner plus rapidement sur des trames de données volumineuses.

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant dans R :

#create data frame
df <- data.frame(day=seq(1:16),
                 sales=c(3, 6, 0, 2, 4, 1, 0, 1, 4, 7, 3, 3, 8, 3, 5, 5))

#view head of data frame
head(df)

  day sales
1   1     3
2   2     6
3   3     0
4   4     2
5   5     4
6   6     1

Exemple 1 : calculer la moyenne cumulée en utilisant la base R

Nous pouvons utiliser le code suivant pour ajouter une nouvelle colonne à notre bloc de données qui affiche la moyenne cumulée des ventes :

#add new column that contains cumulative avg. of sales
df$cum_avg_sales <- cumsum(df$sales) / seq_along(df$sales) 

#view updated data frame
df

   day sales cum_avg_sales
1    1     3      3.000000
2    2     6      4.500000
3    3     0      3.000000
4    4     2      2.750000
5    5     4      3.000000
6    6     1      2.666667
7    7     0      2.285714
8    8     1      2.125000
9    9     4      2.333333
10  10     7      2.800000
11  11     3      2.818182
12  12     3      2.833333
13  13     8      3.230769
14  14     3      3.214286
15  15     5      3.333333
16  16     5      3.437500

Nous interpréterions les valeurs moyennes cumulées comme :

  • La moyenne cumulée de la valeur des premières ventes est de 3 .
  • La moyenne cumulée des deux premières valeurs de ventes est de 4,5 .
  • La moyenne cumulée des trois premières valeurs de ventes est de 3 .
  • La moyenne cumulée des quatre premières valeurs de ventes est de 2,75 .

Et ainsi de suite.

Exemple 2 : calculer la moyenne cumulée à l’aide de dplyr

Nous pouvons également utiliser la fonction cummean du package dplyr dans R pour calculer une moyenne cumulée.

Le code suivant montre comment utiliser cette fonction pour ajouter une nouvelle colonne à notre bloc de données qui affiche la moyenne cumulée des ventes :

library(dplyr)

#add new column that contains cumulative avg. of sales
df$cum_avg_sales <- cummean(df$sales) 

#view updated data frame
df

   day sales cum_avg_sales
1    1     3      3.000000
2    2     6      4.500000
3    3     0      3.000000
4    4     2      2.750000
5    5     4      3.000000
6    6     1      2.666667
7    7     0      2.285714
8    8     1      2.125000
9    9     4      2.333333
10  10     7      2.800000
11  11     3      2.818182
12  12     3      2.833333
13  13     8      3.230769
14  14     3      3.214286
15  15     5      3.333333
16  16     5      3.437500

Notez que cette méthode renvoie exactement les mêmes résultats que la méthode précédente.

Ressources additionnelles

Les didacticiels suivants expliquent comment calculer d’autres métriques courantes dans R :

Comment calculer une moyenne tronquée dans R
Comment calculer la moyenne géométrique dans R
Comment calculer une moyenne pondérée dans R

Ajouter un commentaire

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