Sustituir datos ausentes - I
Como descubriste en el ejercicio anterior, tus datos trimestrales de PIB parecen tener varias observaciones ausentes. De hecho, tu llamada a summary() en el ejercicio anterior reveló 80 valores ausentes.
Como quizá recuerdes del primer curso de xts, xts y zoo ofrecen varias funciones para tratar los datos faltantes.
La técnica más sencilla es el comando na.locf(), que arrastra hacia adelante la última observación previa al dato ausente (de ahí, "last observation carried forward", o locf). Este enfoque suele ser el más adecuado para tratar la ausencia de datos, sobre todo cuando quieres ser conservador con el crecimiento en tus series.
Un enfoque similar funciona en sentido contrario: toma la primera observación después del valor ausente y la arrastra hacia atrás ("next observation carried backward", o nocb). Esta técnica también puede aplicarse con el comando na.locf() estableciendo el argumento fromLast en TRUE.
Qué método es mejor depende del tipo de datos con los que estés trabajando y de tus ideas previas sobre cómo cambian los datos a lo largo del tiempo.
Este ejercicio forma parte del curso
Estudio de caso: Análisis de series temporales de una ciudad en R
Instrucciones del ejercicio
- Usa
na.locf()para rellenar los valores ausentes engdp_xtsbasándote en la última observación arrastrada hacia adelante. Guarda este nuevo objeto xts comogdp_locf. - Haz otra llamada a
na.locf()para rellenar los valores ausentes engdp_xtsbasándote en la siguiente observación arrastrada hacia atrás. Para ello, establece el argumentofromLastenTRUE. Guarda este nuevo objeto xts comogdp_nocb. - Representa cada uno de estos objetos con
plot.xts(). Incluye la llamadapar()ya escrita para mostrar ambas gráficas juntas. - Consulta cada objeto (
gdp_locfygdp_nocb) para el PIB en 1993.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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