ÎncepețiÎncepe gratuit

Extragerea componentelor pentru filtrare și rezumare

Un alt motiv pentru a extrage componente este să facilitezi filtrarea observațiilor sau crearea de rezumate. De exemplu, dacă ești interesat doar de observațiile din zilele lucrătoare (adică nu din weekend), poți extrage ziua din săptămână și apoi elimina weekendurile, de exemplu wday(date) %in% 2:6.

În exercițiul anterior ai văzut că ianuarie, februarie și martie sunt luni excelente pentru a vizita Auckland dacă vrei temperaturi calde – dar oare vei avea nevoie de o haină de ploaie?

În acest exercițiu vei afla! Vei folosi datele orare pentru a calcula câte zile din fiecare lună a plouat în cursul zilei.

Acest exercițiu face parte din cursul

Lucrul cu date și ore în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează coloane noi pentru ora și luna observației, pornind de la datetime. Asigură-te că etichetezi luna.
  • Filtrează doar observațiile din timpul zilei, unde ora este mai mare sau egală cu 8 și mai mică sau egală cu 22.
  • Grupează observațiile mai întâi după month, apoi după date, și rezumă folosind any() pe coloana rainy. Rezultatul este o singură valoare pe zi.
  • Rezumă din nou prin însumarea coloanei any_rain. Rezultatul este o singură valoare pe lună.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
  )
Editează și rulează codul