Come calcolare una media cumulativa in r
Una media cumulativa ci dice la media di una serie di valori fino a un certo punto.
È possibile utilizzare i seguenti metodi per calcolare la media cumulativa dei valori in R:
Metodo 1: utilizzare Base R
cum_avg <- cumsum(x) / seq_along(x)
Metodo 2: usa dplyr
library (dplyr)
cum_avg <- cummean(x)
Entrambi i metodi restituiscono esattamente lo stesso risultato, ma il metodo dplyr tende a funzionare più velocemente su frame di dati di grandi dimensioni.
I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati in 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
Esempio 1: calcolare la media cumulativa utilizzando la base R
Possiamo utilizzare il seguente codice per aggiungere una nuova colonna al nostro data frame che visualizza la media delle vendite cumulative:
#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
Interpreteremmo i valori medi cumulativi come:
- La media cumulativa del valore delle prime vendite è 3 .
- La media cumulativa dei primi due valori di vendita è 4,5 .
- La media cumulativa dei primi tre valori di vendita è 3 .
- La media cumulativa dei primi quattro valori di vendita è 2,75 .
E così via.
Esempio 2: calcola la media cumulativa utilizzando dplyr
Possiamo anche utilizzare la funzione cummean del pacchetto dplyr in R per calcolare una media cumulativa.
Il codice seguente mostra come utilizzare questa funzione per aggiungere una nuova colonna al nostro frame di dati che visualizza la media delle vendite cumulative:
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
Tieni presente che questo metodo restituisce esattamente gli stessi risultati del metodo precedente.
Risorse addizionali
I seguenti tutorial spiegano come calcolare altre metriche comuni in R:
Come calcolare una media troncata in R
Come calcolare la media geometrica in R
Come calcolare una media ponderata in R