IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Usa merge() per combinare flights_xts e temps_monthly. Poiché questi oggetti xts condividono la periodicità, il comando di merge dovrebbe inserire i dati di temperatura nella riga appropriata del tuo oggetto flights_xts. Nota che l’ordine in cui elenchi gli oggetti da unire determina dove compariranno le colonne nell’oggetto unito. Per coerenza, metti flights_xts per primo e temps_monthly per 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 colonne pct_delay e temps_monthly da flights_temps. Assicurati di effettuare il subset delle colonne rilevanti e di impostare plot.type su "single". Lascia l’argomento lty così 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")
Modifica ed esegui il codice