Remplacer les données manquantes - I
Comme vous l'avez constaté dans l'exercice précédent, vos données trimestrielles de PIB semblent comporter plusieurs observations manquantes. En fait, votre appel à summary() dans l'exercice précédent a révélé 80 points de données manquants!
Comme vous vous en souvenez peut-être du premier cours sur xts, xts et zoo offrent diverses fonctions pour traiter les données manquantes.
La technique la plus simple est la commande na.locf(), qui propage la dernière observation avant la valeur manquante (d'où « last observation carried forward », ou locf). Cette approche est souvent la plus appropriée pour gérer le manque de données, surtout lorsque vous avez des raisons d'être prudent quant à la croissance dans vos données.
Une approche similaire fonctionne dans la direction opposée en prenant la première observation après la valeur manquante et en la reportant vers l'arrière (« next observation carried backward », ou nocb). Cette technique peut aussi être réalisée avec la commande na.locf() en définissant l'argument fromLast à TRUE.
La meilleure méthode dépend du type de données avec lequel vous travaillez et de vos hypothèses sur l'évolution des données dans le temps.
Cette activité fait partie du cours
Étude de cas : analyser des séries chronologiques urbaines en R
Instructions de l’exercice
- Utilisez
na.locf()pour remplir les valeurs manquantes degdp_xtsà partir de la dernière observation reportée vers l'avant. Enregistrez ce nouvel objet xts sous le nomgdp_locf. - Faites un autre appel à
na.locf()pour remplir les valeurs manquantes degdp_xtsselon la prochaine observation reportée vers l'arrière. Pour ce faire, définissez l'argumentfromLastàTRUE. Enregistrez ce nouvel objet xts sous le nomgdp_nocb. - Tracez chacun de ces objets avec
plot.xts(). Incluez la commandepar()déjà fournie pour afficher les deux graphiques côte à côte. - Interrogez chaque objet (
gdp_locfetgdp_nocb) pour obtenir le PIB en 1993.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Fill NAs in gdp_xts with the last observation carried forward
gdp_locf <-
# Fill NAs in gdp_xts with the next observation carried backward
gdp_nocb <-
# Produce a plot for each of your new xts objects
par(mfrow = c(2,1))
plot.xts(___, major.format = "%Y")
plot.xts(___, major.format = "%Y")
# Query for GDP in 1993 in both gdp_locf and gdp_nocb