CommencezCommencez 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 peut‑être pas pertinent de choisir une seule ligne pour représenter tout le mois.

Il est plutôt plus logique de calculer des valeurs de température moyennes par mois. Pour ce faire, vous devrez calculer manuellement la moyenne mensuelle à l'aide de split() et lapply(), puis générer un nouvel objet xts avec as.xts(). Cela peut sembler compliqué, mais vous avez déjà les compétences pour y arriver!

L'objet xts sous‑sélectionné 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 aussi préchargé.

Cette activité fait partie du cours

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

Voir le cours

Instructions de l’exercice

  • Utilisez split() pour générer des listes mensuelles à partir de la colonne mean de votre objet temps_xts_2. Assurez‑vous d'indiquer "months" comme période (l'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 y arriver, vous devrez combiner vos données mensuelles mean_of_means avec votre objet mensuel index.
  • Enfin, confirmez 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 ce code d’exemple.

# 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