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