Remplir les valeurs manquantes par jour de bourse
L’exercice précédent propageait la dernière observation du jour précédent vers la première observation du jour suivant. Celui-ci vous montre comment remplir les valeurs manquantes par jour de bourse, sans utiliser la dernière valeur du jour précédent.
Vous allez réutiliser le paradigme split-lapply-rbind vu dans le cours Introduction to xts and zoo. Pour mémoire, voici le modèle :
x_split <- split(x, f = "months")
x_list <- lapply(x_split, cummax)
x_list_rbind <- do.call(rbind, x_list)
Rappelez-vous que la syntaxe do.call(rbind, ...) vous permet de passer une liste d’objets à rbind() sans avoir à taper tous leurs noms.
Votre espace de travail contient un objet trade_day qui renferme la série régulière de l’exercice précédent, mais sans aucun NA renseigné.
Cet exercice fait partie du cours
Importer et gérer des données financières avec R
Instructions
- Créez un objet
daily_listen utilisantsplit()pour répartir les donnéestrade_dayen une liste de données pour chaque jour. - Utilisez maintenant
lapply()pour remplir lesNAde chaque jour dans la listedaily_list. - Enfin, utilisez
do.call()etrbind()pour convertirdaily_filleden un unique objet xts nomméfilled_by_trade_day.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Split trade_day into days
daily_list <- split(___ , f = "___")
# Use lapply to call na.locf for each day in daily_list
daily_filled <- lapply(___, FUN = ___)
# Use do.call to rbind the results
filled_by_trade_day <- do.call(rbind, ___)