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
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 ")
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 ")
Possiamo anche facilmente inclinare le etichette dell’asse x utilizzando il seguente argomento:
p + theme ( axis.text.x = element_text (angle= 50 , hjust= 1 ))
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
Risorse addizionali
Una guida completa ai migliori temi ggplot2
La guida completa ai titoli ggplot2
Come creare grafici affiancati in ggplot2