CommencezCommencez gratuitement

Extraire pour filtrer et résumer

Une autre bonne raison d'extraire des composantes est d'aider au filtrage des observations ou à la création de résumés. Par exemple, si vous ne vous intéressez qu'aux observations faites les jours de semaine (c.-à-d. pas la fin de semaine), vous pouvez extraire les jours de la semaine puis exclure la fin de semaine, p. ex. wday(date) %in% 2:6.

Dans le dernier exercice, vous avez vu que janvier, février et mars sont d'excellentes périodes pour visiter Auckland pour ses températures chaudes, mais aurez-vous besoin d'un imperméable?

Dans cet exercice, vous le découvrirez! Vous utiliserez les données horaires pour calculer, pour chaque mois, le nombre de jours où il y a eu de la pluie durant la journée.

Cette activité fait partie du cours

Travailler avec les dates et les heures en R

Voir le cours

Instructions de l’exercice

  • Créez de nouvelles colonnes pour l'heure et le mois de l'observation à partir de datetime. Assurez-vous d'étiqueter le mois.
  • Filtrez uniquement les observations de jour, où l'heure est supérieure ou égale à 8 et inférieure ou égale à 22.
  • Regroupez d'abord les observations par month, puis par date, et résumez en utilisant any() sur la colonne rainy. Cela donne une valeur par jour
  • Résumez de nouveau en faisant la somme de any_rain. Cela donne une valeur par mois

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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)
  )
Modifier et exécuter le code