Come calcolare i valori di spostamento in r (con esempi)


È possibile utilizzare la funzione lag() dal pacchetto dplyr in R per calcolare i valori di ritardo.

Questa funzione utilizza la seguente sintassi di base:

scostamento(x, n=1, …)

Oro:

  • x : vettore di valori
  • n : numero di posizioni da ritardare

L’esempio seguente mostra come utilizzare questa funzione per calcolare nella pratica i valori spostati.

Esempio: calcolo dei valori spostati in R

Supponiamo di avere il seguente frame di dati in R che mostra il numero di vendite effettuate da un negozio in 10 giorni consecutivi:

 #create data frame
df <- data. frame (day=1:10,
                 sales=c(18, 10, 14, 13, 19, 24, 25, 29, 15, 18))

#view data frame
df

   day sales
1 1 18
2 2 10
3 3 14
4 4 13
5 5 19
6 6 24
7 7 25
8 8 29
9 9 15
10 10 18

Possiamo utilizzare la funzione lag() del pacchetto dplyr per creare una colonna lag che mostri le vendite del giorno precedente per ogni riga:

 library (dplyr)

#add new column that shows sales for previous day
df$previous_day_sales <- dplyr::lag(df$sales, n= 1 )

#view updated data frame
df

   day sales previous_day_sales
1 1 18 NA
2 2 10 18
3 3 14 10
4 4 13 14
5 5 19 13
6 6 24 19
7 7 25 24
8 8 29 25
9 9 15 29
10 10 18 15

Ecco come interpretare il risultato:

  • Il primo valore nella colonna offset è NA poiché non esiste alcun valore precedente nella colonna vendite.
  • Il secondo valore nella colonna offset è 18 poiché è il valore precedente nella colonna vendite.
  • Il terzo valore nella colonna offset è 10 poiché è il valore precedente nella colonna vendite.

E così via.

Possiamo anche modificare il valore dell’argomento n nella funzione lag() per calcolare un valore di ritardo per un numero diverso di posizioni precedenti:

 library (dplyr)

#add new column that shows sales for two days prior
df$previous_day_sales <- dplyr::lag(df$sales, n= 2 )

#view updated data frame
df

   day sales previous_day_sales
1 1 18 NA
2 2 10 NA
3 3 14 18
4 4 13 10
5 5 19 14
6 6 24 13
7 7 25 19
8 8 29 24
9 9 15 25
10 10 18 29

Nota : per creare una colonna lead, utilizzare la funzione lead() dal pacchetto dplyr invece della funzione lag() .

Risorse addizionali

I seguenti tutorial spiegano come utilizzare altre funzioni comuni in R:

Come utilizzare la funzione n() in dplyr
Come utilizzare la funzione across() in dplyr
Come utilizzare la funzione relocate() in dplyr
Come utilizzare la funzione slice() in dplyr

Aggiungi un commento

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