Come tracciare una serie temporale in r (con esempi)


Spesso è possibile tracciare una serie temporale in R per visualizzare come i valori nella serie temporale cambiano nel tempo.

Questo tutorial spiega come farlo rapidamente utilizzando la libreria di visualizzazione dei dati ggplot2 .

Rappresentazione di serie temporali di base in R

Supponiamo di avere il seguente set di dati in R:

 #create dataset
df <- data.frame(date = as . Date (" 2021-01-01 ") - 0:99,
                 sales = runif (100, 10, 500) + seq (50, 149)^2)

#view first six rows
head(df)

        dirty date
1 2021-01-01 2845.506
2 2020-12-31 2837.849
3 2020-12-30 3115.517
4 2020-12-29 2847.161
5 2020-12-28 3374.619
6 2020-12-27 3182.005

Possiamo utilizzare il codice seguente per creare un grafico di serie temporali di base per questo set di dati utilizzando ggplot2:

 library (ggplot2)

#create time series plot
p <- ggplot(df, aes (x=date, y=sales)) +
       geom_line()

#display time series plot
p

Rappresentazione di serie temporali di base in R

Formatta le date sull’asse X

Possiamo usare la funzione scale_x_date() * per formattare le date visualizzate lungo l’asse x del grafico. Questa funzione accetta i seguenti argomenti:

  • %d: giorno come numero compreso tra 0 e 31
  • %a: giorno della settimana abbreviato (ad esempio “Tue”)
  • %A: giorno della settimana non abbreviato (ad esempio “Martedì”)
  • %m : Mesi compresi tra 0 e 12
  • %b: mese abbreviato (ad esempio “Jan”)
  • %B: mese non abbreviato (ad esempio “Gennaio”)
  • %y: anno a 2 cifre (ad esempio “21”)
  • %Y: anno a 4 cifre (ad esempio “2021”)
  • %W: Settimana dell’anno compresa tra 0 e 52

* Perché questa funzione funzioni, la variabile dell’asse x deve essere una variabile di data. Se non lo è già, puoi convertirlo rapidamente in uno utilizzando as.Date( variable_name) .

Il codice seguente mostra come utilizzare nella pratica uno di questi formati:

 p + scale_x_date ( date_labels = " %b %Y ") 

Tracciare serie temporali con date personalizzate in R

Puoi anche aggiungere interruzioni più frequenti (o poco frequenti) lungo l’asse x utilizzando l’argomento date_breaks . Ad esempio, potremmo visualizzare le date ogni due settimane lungo l’asse x:

 p + scale_x_date ( date_breaks = " 2 week ") 

Serie temporali con salti di data sull'asse x in R

Possiamo anche facilmente inclinare le etichette dell’asse x utilizzando il seguente argomento:

 p + theme ( axis.text.x = element_text (angle= 50 , hjust= 1 )) 

Inclinazione delle etichette dell'asse X in ggplot2

Infine, possiamo modificare il tema, le etichette degli assi e il titolo per rendere la trama della serie temporale più accattivante dal punto di vista visivo:

 p <- ggplot(df, aes (x=date, y=sales)) +
       geom_line( color =" turquoise4 ") +
       theme_minimal() + 
       labs(x="", y=" Sales ", title=" Total Sales (Past 100 Days) ") +
       theme( plot.title = element_text (hjust=0.5, size=20, face=" bold "))

p 

Serie temporali con tema ggplot personalizzato in R

Risorse addizionali

Una guida completa ai migliori temi ggplot2
La guida completa ai titoli ggplot2
Come creare grafici affiancati in ggplot2

Aggiungi un commento

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