Extrahera för filtrering och sammanfattning
Ytterligare ett skäl att extrahera komponenter är att det underlättar filtrering av observationer och skapande av sammanfattningar. Om du till exempel bara är intresserad av observationer gjorda på vardagar (alltså inte på helgen) kan du extrahera veckodagarna och sedan filtrera bort helgdagarna, t.ex. wday(date) %in% 2:6.
I den föregående övningen såg du att januari, februari och mars är bra månader att besöka Auckland för varmt väder – men behöver du ha med dig en regnrock?
Det får du reda på i den här övningen! Du använder timvisa data för att beräkna hur många dagar per månad det regnade under dagtid.
Den här övningen är en del av kursen
Arbeta med datum och tider i R
Övningsinstruktioner
- Skapa nya kolumner för timme och månad från
datetime. Se till att du anger månadens etikett. - Filtrera till enbart dagtidsobservationer, där timmen är större än eller lika med
8och mindre än eller lika med22. - Gruppera observationerna först efter
month, sedan efterdate, och sammanfatta medany()på kolumnenrainy. Detta ger ett värde per dag. - Sammanfatta igen genom att summera
any_rain. Detta ger ett värde per månad.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)
)