Kom igångKom igång gratis

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

Visa kurs

Ö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 8 och mindre än eller lika med 22.
  • Gruppera observationerna först efter month, sedan efter date, och sammanfatta med any() på kolumnen rainy. 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)
  )
Redigera och kör kod