Componenten extraheren voor visualisatie
Componenten uit een datetime halen is vooral handig bij het verkennen van data. Eerder in dit hoofdstuk heb je dagelijkse gegevens voor het weer in Auckland geïmporteerd en een tijdreeksplot gemaakt van tien jaar aan dagelijkse maximumtemperaturen. Die grafiek geeft je een goed overzicht van de hele tien jaar, maar het jaarlijkse patroon is lastig te zien.
In deze oefening gebruik je onderdelen van de datums om het patroon van de maximumtemperatuur gedurende het jaar te verkennen. De eerste stap is het toevoegen van een paar nieuwe kolommen voor de uitgepakte onderdelen, daarna gebruik je die in een paar grafieken.
Deze oefening maakt deel uit van de cursus
Werken met datums en tijden in R
Oefeninstructies
- Gebruik
mutate()om drie nieuwe kolommen te maken:year,ydayenmonthdie respectievelijk dezelfde componenten van de kolomdatebevatten. Vergeet niet de maanden te labelen met hun namen. - Maak een grafiek met
ydayop de x-as enmax_tempop de y-as, waarbij lijnen worden gegroepeerd peryear. Elke jaar is een lijn in deze grafiek, met de x-as van 1 jan. tot en met 31 dec. - Maak ter afwisseling een ridgeline-plot (voorheen bekend als joyplot) met
max_tempop de x-as,monthop de y-as, metgeom_density_ridges()uit hetggridges-pakket.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
library(ggplot2)
library(dplyr)
library(ggridges)
# Add columns for year, yday and month
akl_daily <- akl_daily %>%
mutate(
___ = ___(date),
___ = ___(date),
___ = ___(date, ___))
# Plot max_temp by yday for all years
ggplot(akl_daily, aes(x = ___, y = ___)) +
geom_line(aes(group = ___), alpha = 0.5)
# Examine distribution of max_temp by month
ggplot(akl_daily, aes(x = ___, y = ___, height = ..density..)) +
geom_density_ridges(stat = "density")