CommencerCommencer gratuitement

Extraire pour filtrer et agréger

Extraire des composantes permet aussi de filtrer des observations ou de créer des résumés. Par exemple, si vous ne souhaitez conserver que les observations effectuées en semaine (c.-à-d. pas le week-end), vous pouvez extraire le jour de la semaine puis exclure les week-ends, p. ex. wday(date) %in% 2:6.

Dans le dernier exercice, vous avez vu que janvier, février et mars sont de très bons mois pour visiter Auckland si vous cherchez des températures douces, mais aurez-vous besoin d’un imperméable ?

C’est ce que vous allez découvrir ici ! Vous utiliserez les données horaires pour calculer, pour chaque mois, le nombre de jours où il a plu pendant la journée.

Cet exercice fait partie du cours

Travailler avec les dates et heures en R

Afficher le cours

Instructions

  • Créez de nouvelles colonnes pour l’heure et le mois de l’observation à partir de datetime. Veillez à étiqueter le mois.
  • Filtrez pour ne conserver que les observations en journée, 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 effectuez un résumé en utilisant any() sur la colonne rainy. Cela donne une valeur par jour
  • Résumez à nouveau en faisant la somme de any_rain. Cela donne une valeur par mois

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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