Extrakce pro filtrování a sumarizaci
Extrakce složek data a času se hodí i při filtrování pozorování nebo vytváření souhrnů. Pokud tě zajímají jen pracovní dny (tedy ne víkendy), stačí extrahovat den v týdnu a víkendy odfiltrovat – například takto: wday(date) %in% 2:6.
V předchozím cvičení jsi zjistil/a, že leden, únor a březen jsou v Aucklandu skvělé měsíce pro příjemné teploty – ale budeš potřebovat pláštěnku?
V tomto cvičení to zjistíš! Z hodinových dat vypočítáš, kolik dní v každém měsíci přes den pršelo.
Toto cvičení je součástí kurzu
Práce s daty a časy v R
Pokyny k cvičení
- Z
datetimevytvoř nové sloupce pro hodinu a měsíc pozorování. Měsíc nezapomeň pojmenovat. - Filtruj pouze denní pozorování, kde je hodina větší nebo rovna
8a zároveň menší nebo rovna22. - Seskup pozorování nejprve podle
month, potom podledatea vytvoř souhrn pomocíany()nad sloupcemrainy. Výsledkem je jedna hodnota za den. - Proveď další sumarizaci sečtením hodnot
any_rain. Výsledkem je jedna hodnota za měsíc.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)
)