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
Instructions
- Utilisez
split()pour créer des listes mensuelles à partir de la colonnemeande votre objettemps_xts_2. Veillez à préciser"months"comme période (argumentf). - 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 mensuellesmean_of_meansavec votre objetindexmensuel. - Enfin, vérifiez que votre nouvel objet
temps_monthlypartage la même durée et la même périodicité queflights_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(___)