ggplot2 - Serie temporali

Una serie temporale è un grafico che rappresenta la serie di punti dati in un ordine temporale specifico. Una serie temporale è una sequenza presa con una sequenza in punti di tempo successivi equidistanti. Le serie temporali possono essere considerate dati a tempo discreto. L'insieme di dati che useremo in questo capitolo è l'insieme di dati "economici" che include tutti i dettagli delle serie storiche economiche statunitensi.

Il dataframe include i seguenti attributi menzionati di seguito:

Data Mese di raccolta dei dati
Psavert Tasso di risparmio personale
Pce Spesa per consumi personali
Disoccupato Numero di disoccupati in migliaia
Unempmed Durata mediana della disoccupazione
Pop Popolazione totale in migliaia

Carica i pacchetti richiesti e imposta il tema predefinito per creare una serie temporale.

> library(ggplot2)
> theme_set(theme_minimal())
> # Demo dataset
> head(economics)
# A tibble: 6 x 6
date           pce            pop          psavert       uempmed       unemploy
<date>         <dbl>         <dbl>         <dbl>         <dbl>         <dbl>
1 1967-07-01    507.          198712        12.6          4.5           2944
2 1967-08-01    510.          198911        12.6          4.7           2945
3 1967-09-01    516.          199113        11.9          4.6           2958
4 1967-10-01    512.          199311        12.9          4.9           3143
5 1967-11-01    517.          199498        12.8          4.7           3066
6 1967-12-01    525.          199657        11.8          4.8           3018

Creare grafici a linee di base che creino una struttura di serie temporali.

> # Basic line plot
> ggplot(data = economics, aes(x = date, y = pop))+
+ geom_line(color = "#00AFBB", size = 2)

Possiamo tracciare il sottoinsieme di dati usando il seguente comando:

> # Plot a subset of the data
> ss <- subset(economics, date > as.Date("2006-1-1"))
> ggplot(data = ss, aes(x = date, y = pop)) +
+ geom_line(color = "#FC4E07", size = 2)

Creazione di serie storiche

Qui tracceremo le variabili psavert e uempmed per date. Qui dobbiamo rimodellare i dati usando il pacchetto tidyr. Ciò può essere ottenuto comprimendo i valori psavert e uempmed nella stessa colonna (nuova colonna). Funzione R: gather () [tidyr]. Il passaggio successivo prevede la creazione di una variabile di raggruppamento con livelli = psavert e uempmed.

> library(tidyr)
> library(dplyr)
Attaching package: ‘dplyr’
The following object is masked from ‘package:ggplot2’: vars
The following objects are masked from ‘package:stats’: filter, lag
The following objects are masked from ‘package:base’: intersect, setdiff, setequal, union
> df <- economics %>%
+    select(date, psavert, uempmed) %>%
+    gather(key = "variable", value = "value", -date)
> head(df, 3)
# A tibble: 3 x 3
date          variable     value
<date> <chr>   <dbl>
1 1967-07-01   psavert       12.6
2 1967-08-01   psavert       12.6
3 1967-09-01   psavert       11.9

Crea un grafico a più linee utilizzando il seguente comando per dare un'occhiata alla relazione tra "psavert" e "disabled" -

> ggplot(df, aes(x = date, y = value)) +
+    geom_line(aes(color = variable), size = 1) +
+    scale_color_manual(values = c("#00AFBB", "#E7B800")) +
+    theme_minimal()