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

Aggiungi un commento

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