merge() gebruiken en over de tijd plotten
Nu je temperatuurdata hebt voor dezelfde periode (2010–2015) en op dezelfde frequentie (maandelijks) als je vluchtendata, ben je klaar om te mergen.
Om xts-objecten per kolom samen te voegen, kun je merge() gebruiken. Wanneer twee xts-objecten dezelfde periodiciteit hebben, kan merge() de informatie meestal in de juiste rijen combineren. Ook als xts-objecten niet dezelfde periodiciteit hebben, bewaart merge() de juiste tijdsvolgorde van die objecten over verschillende perioden heen.
In deze oefening voeg je je twee xts-objecten per kolom samen en maak je nieuwe grafieken om te onderzoeken hoe vertragingen in vluchten samenhangen met temperatuur. temps_monthly en flights_xts zijn beschikbaar in je werkruimte.
Deze oefening maakt deel uit van de cursus
Casestudy: Tijdreeksgegevens van een stad analyseren in R
Oefeninstructies
- Gebruik
merge()omflights_xtsentemps_monthlyte combineren. Omdat deze xts-objecten dezelfde periodiciteit hebben, moet je merge-opdracht de temperatuurdata in de juiste rij in jeflights_xts-object plaatsen. Let op dat de volgorde waarin je de objecten voor samenvoegen opgeeft, bepaalt waar de kolommen in het samengevoegde object komen te staan. Plaats voor consistentie eerstflights_xtsen daarnatemps_monthly. - Bekijk de eerste paar rijen van je samengevoegde xts-object (
flights_temps) om te bevestigen dat het samenvoegen is gelukt. Je zou de temperatuurdata moeten zien uitgelijnd met de vluchtendata. - Gebruik
plot.zoo()om één grafiek te maken met zowel de kolompct_delayalstemps_monthlyuitflights_temps. Vergeet niet de relevante kolommen te selecteren enplot.typeals"single"in te stellen. Laat het argumentltyongewijzigd.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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")