Usare merge() e tracciare nel tempo
Ora che hai i dati di temperatura sullo stesso periodo (2010-2015) e con la stessa frequenza (mensile) dei tuoi dati sui voli, sei pronto per unire gli insiemi di dati.
Per unire oggetti xts per colonna, puoi usare merge(). Quando due oggetti xts condividono la stessa periodicità, merge() in genere riesce a combinare le informazioni nelle righe corrette. Anche quando gli oggetti xts non condividono la stessa periodicità, merge() conserverà il corretto ordinamento temporale di quegli oggetti su periodi differenti.
In questo esercizio unirai i due oggetti xts per colonna e genererai nuovi grafici per esplorare come i ritardi dei voli si relazionano alla temperatura. temps_monthly e flights_xts sono disponibili nel tuo workspace.
Questo esercizio fa parte del corso
Caso di studio: analisi di serie temporali cittadine in R
Istruzioni dell'esercizio
- Usa
merge()per combinareflights_xtsetemps_monthly. Poiché questi oggetti xts condividono la periodicità, il comando di merge dovrebbe inserire i dati di temperatura nella riga appropriata del tuo oggettoflights_xts. Nota che l’ordine in cui elenchi gli oggetti da unire determina dove compariranno le colonne nell’oggetto unito. Per coerenza, mettiflights_xtsper primo etemps_monthlyper secondo. - Esamina le prime righe del tuo oggetto xts unito (
flights_temps) per confermare che l’unione sia andata a buon fine. Dovresti vedere i dati di temperatura allineati con i dati dei voli. - Usa
plot.zoo()per generare un unico grafico che contenga entrambe le colonnepct_delayetemps_monthlydaflights_temps. Assicurati di effettuare il subset delle colonne rilevanti e di impostareplot.typesu"single". Lascia l’argomentoltycosì com’è.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Use merge to combine your flights and temperature objects
flights_temps <- merge(___, ___)
# Examine the first few rows of your combined xts object
# Use plot.zoo to plot these two columns in a single panel
plot.zoo(___[,c("___", "___")], plot.type = "___", lty = lty)
legend("topright", lty = lty, legend = labels, bg = "white")