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 valeurs manquantes !
Comme vous vous en souvenez sans doute du premier cours sur xts, xts et zoo proposent plusieurs 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 les données manquantes, surtout lorsque vous avez des raisons d’être prudent quant à la croissance dans vos données.
Une approche similaire fonctionne dans l’autre sens en prenant la première observation après la valeur manquante et en la propageant vers l’arrière (« next observation carried backward », ou nocb). Cette technique peut également ê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.
Cet exercice fait partie du cours
Étude de cas : analyser des séries temporelles urbaines en R
Instructions
- Utilisez
na.locf()pour remplir les valeurs manquantes degdp_xtsen propageant la dernière observation connue. Enregistrez ce nouvel objet xts sous le nomgdp_locf. - Utilisez un autre appel à
na.locf()pour remplir les valeurs manquantes degdp_xtsà partir de l’observation suivante propagée vers l’arrière. Pour cela, 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()fournie pour afficher les deux graphiques côte à côte. - Interrogez chaque objet (
gdp_locfetgdp_nocb) pour le PIB en 1993.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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