Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Gebruik merge() om flights_xts en temps_monthly te combineren. Omdat deze xts-objecten dezelfde periodiciteit hebben, moet je merge-opdracht de temperatuurdata in de juiste rij in je flights_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 eerst flights_xts en daarna temps_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 kolom pct_delay als temps_monthly uit flights_temps. Vergeet niet de relevante kolommen te selecteren en plot.type als "single" in te stellen. Laat het argument lty ongewijzigd.

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")
Code bewerken en uitvoeren