Sous-échantillonner et ajuster la périodicité
Votre prochaine étape consiste à fusionner vos données de température avec les données de vols du chapitre précédent.
Rappelez-vous que vos données de vols couvrent la période 2010 à 2015 avec une périodicité mensuelle. À l’inverse, vos données de température s’étendent de 2007 à 2015 avec une périodicité quotidienne. Avant de fusionner, vous devez sous-échantillonner vos données et ajuster la périodicité au mensuel.
Pour convertir la périodicité d’objets xts, vous pouvez utiliser to.period(), qui permet de convertir rapidement vos données vers une fréquence plus faible. Par défaut, cette commande calcule des valeurs spécifiques pour l’ensemble de la période (à savoir Open-High-Low-Close, ou OHLC), utiles en finance mais pas forcément pertinentes dans tous les contextes.
Ici, vous devez définir l’argument OHLC à FALSE. Plutôt que de produire des colonnes OHLC dans votre objet xts mensuel, ce réglage prendra simplement une ligne par période comme représentative de toute la période. Vous pouvez préciser quelle ligne utiliser avec l’argument indexAt.
Les données temps_xts et flights_xts (du chapitre précédent) sont disponibles dans votre espace de travail.
Cet exercice fait partie du cours
Étude de cas : analyser des séries temporelles urbaines en R
Instructions
- Sous-échantillonnez votre objet
temps_xtspour ne conserver que les observations de 2010 à 2015. Enregistrez-le sous le nomtemps_xts_2. - Utilisez
to.period()pour convertir vos données de température quotidiennes en périodicité mensuelle. Assurez-vous de préciser la période cible ("months"). Vous devez également définirOHLCàFALSEpour éviter de générer de nouvelles colonnes OHLC. Enfin, définissez l’argumentindexAtà"firstof"pour sélectionner la première observation de chaque mois. - Utilisez deux appels à
periodicity()pour comparer la périodicité et la durée de vos nouvelles données mensuelles de température à celles des donnéesflights_xtsdu chapitre précédent.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Subset your temperature data to include only 2010 through 2015: temps_xts_2
temps_xts_2 <- ___["___/___"]
# Use to.period to convert temps_xts_2 to monthly periodicity
temps_monthly <- to.period(___, period = "___", OHLC = ___, indexAt = "___")
# Compare the periodicity and duration of temps_monthly and flights_xts
periodicity(___)
periodicity(___)