Indice
Rappresentare le serie storiche
Oggetti ‘ts’ con ggfortify
Per rappresentare graficamente le serie storiche con ggplot2 (e più in generale per lavorare con le serie storiche e i pacchetti del tidyverse), è necessario ricorrere alle funzioni del pacchetto ggfortify:
install.packages("ggfortify") library(ggfortify)
library(tidyverse)
Utilizziamo la funzione autoplot()
:
AirPassengers %>% autoplot()
Oggetti ‘data.frame’ con geom_line()
Le serie storiche in formato di dataframe, invece, possono essere
rappresentate direttamente con geom_line()
.
Trasformiamo la serie in dataframe, con una funzione di ggfortify:
ts.df <- fortify(AirPassengers, index.name = "Date", data.name = "Passengers") head(ts.df)
## Date Passengers ## 1 1949-01-01 112 ## 2 1949-02-01 118 ## 3 1949-03-01 132 ## 4 1949-04-01 129 ## 5 1949-05-01 121 ## 6 1949-06-01 135
ts.df %>% ggplot(aes(x = Date, y = Passengers)) + geom_line()
Rappresentare il tempo sull’asse delle ascisse
Intanto, come esempio di personalizzazione, modifichiamo il tema predefinito e cambiamo i caratteri base del grafico:
# fonts library(extrafont) # impostazioni del tema theme_set(theme_minimal() + theme(text = element_text(family = "Open Sans")))
Vedi: I temi predefiniti (ggplot2)
Per cambiare la rappresentazione della data, possiamo usare la funzione:
scale_x_date()
ts.df %>% ggplot(aes(x = Date, y = Passengers)) + geom_line(size = 1, linetype = "dotted", col = "blue") + scale_x_date(date_breaks = "1 year", # intervalli date_labels = "%Y") # formato delle etichette
Per avere una scala triennale:
scale_x_date(date_breaks = "3 years", date_labels = "%Y")
Per ottenere un risultato analogo con autoplot()
:
AirPassengers %>% autoplot(ts.size = 1, ts.linetype = "dotted", ts.col = "blue") + scale_x_date(date_breaks = "1 year", date_labels = "%Y") + labs(y = "Passengers", x = "Date")
Vedi: