CommencerCommencer gratuitement

Générer une moyenne mensuelle

Bien que la commande to.period() soit utile dans de nombreux contextes, dans votre cas il n’est pas idéal de sélectionner une seule ligne comme représentative de tout le mois.

Il est plus judicieux de calculer des valeurs de température moyennes par mois. Pour cela, vous devrez calculer manuellement la moyenne mensuelle en utilisant split() et lapply(), puis générer un nouvel objet xts avec as.xts(). Le processus peut sembler compliqué, mais vous avez déjà toutes les compétences nécessaires !

L’objet xts filtré de l’exercice précédent, temps_xts_2, est préchargé dans votre espace de travail. Un objet index contenant un vecteur de dates correspondant au premier jour de chaque mois couvert par les données est également préchargé.

Cet exercice fait partie du cours

Étude de cas : analyser des séries temporelles urbaines en R

Afficher le cours

Instructions

  • Utilisez split() pour créer des listes mensuelles à partir de la colonne mean de votre objet temps_xts_2. Veillez à préciser "months" comme période (argument f).
  • Utilisez lapply() pour calculer la « moyenne des moyennes », c’est-à-dire la température moyenne mensuelle.
  • Utilisez as.xts() pour générer un nouvel objet xts contenant la température moyenne mensuelle à Boston de 2010 à 2015. Pour cela, vous devrez combiner vos données mensuelles mean_of_means avec votre objet index mensuel.
  • Enfin, vérifiez que votre nouvel objet temps_monthly partage la même durée et la même périodicité que flights_xts.

Exercice interactif pratique

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

# Split temps_xts_2 into separate lists per month
monthly_split <- split(___$___ , f = "___")

# Use lapply to generate the monthly mean of mean temperatures
mean_of_means <- lapply(___, FUN = ___)

# Use as.xts to generate an xts object of average monthly temperature data
temps_monthly <- as.xts(as.numeric(___), order.by = ___)
 
# Compare the periodicity and duration of your new temps_monthly and flights_xts 
periodicity(___)
periodicity(___)
Modifier et exécuter le code