Onderdelen extraheren om te filteren en te samenvatten
Een andere reden om onderdelen te extraheren is om te helpen bij het filteren van observaties of het maken van samenvattingen. Als je bijvoorbeeld alleen geïnteresseerd bent in observaties op doordeweekse dagen (dus niet in het weekend), kun je de weekdagen extraheren en vervolgens het weekend wegfilteren, bijvoorbeeld met wday(date) %in% 2:6.
In de vorige oefening zag je dat januari, februari en maart goede maanden zijn om Auckland te bezoeken voor warme temperaturen, maar heb je een regenjas nodig?
In deze oefening kom je daar achter! Je gebruikt de uurlijkse data om te berekenen op hoeveel dagen in elke maand er overdag regen viel.
Deze oefening maakt deel uit van de cursus
Werken met datums en tijden in R
Oefeninstructies
- Maak nieuwe kolommen voor het uur en de maand van de observatie uit
datetime. Zorg dat je de maand labelt. - Filter naar alleen dagobservaties, waar het uur groter dan of gelijk aan
8en kleiner dan of gelijk aan22is. - Groepeer de observaties eerst op
month, daarna opdate, en vat samen metany()op de kolomrainy. Dit levert één waarde per dag op - Vat opnieuw samen door
any_rainop te tellen. Dit levert één waarde per maand op
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Create new columns hour, month and rainy
akl_hourly <- akl_hourly %>%
mutate(
___ = ___(datetime),
___ = ___(datetime, ___),
rainy = weather == "Precipitation"
)
# Filter for hours between 8am and 10pm (inclusive)
akl_day <- akl_hourly %>%
filter(___, ___)
# Summarise for each date if there is any rain
rainy_days <- akl_day %>%
group_by(___, ___) %>%
summarise(
any_rain = ___(rainy)
)
# Summarise for each month, the number of days with rain
rainy_days %>%
summarise(
days_rainy = ___(any_rain)
)