Inicializar valores ausentes e iterar sobre variables
Como acabas de ver, ejecutar impute_lm() puede no rellenar todos los valores ausentes. Para asegurarte de imputarlos todos, deberías inicializar los valores faltantes con un método sencillo, como la imputación hot-deck que viste en el capítulo anterior, que simplemente arrastra hacia adelante el último valor observado.
Además, una sola imputación suele no ser suficiente. Se basa en valores inicializados de forma básica y puede estar sesgada. Un enfoque adecuado es iterar por las variables, imputándolas una a una en los lugares donde originalmente faltaban.
En este ejercicio, primero inicializarás los valores ausentes con hot-deck y luego recorrerás cinco veces air_temp y humidity del conjunto tao para imputarlos con regresión lineal. ¡Manos a la obra!
Este ejercicio forma parte del curso
Tratamiento de datos faltantes con imputaciones en R
Instrucciones del ejercicio
- Inicializa los valores ausentes con la imputación
hotdeck(). - Crea una máscara booleana indicando dónde
humidityfaltaba originalmente y asígnala amissing_humidity. - Dentro del bucle for, establece
humidityentao_impaNAen los lugares donde faltaba originalmente utilizando la máscara booleana que has creado. - Dentro del bucle for, imputa
humidityentao_impcon regresión lineal, usandoyear,latitude,sea_surface_tempyair_tempcomo predictores y vuelve a asignar el resultado atao_imp.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Initialize missing values with hot-deck
tao_imp <- ___(tao)
# Create boolean masks for where air_temp and humidity are missing
missing_air_temp <- tao_imp$air_temp_imp
missing_humidity <- ___
for (i in 1:5) {
# Set air_temp to NA in places where it was originally missing and re-impute it
tao_imp$air_temp[missing_air_temp] <- NA
tao_imp <- impute_lm(tao_imp, air_temp ~ year + latitude + sea_surface_temp + humidity)
# Set humidity to NA in places where it was originally missing and re-impute it
tao_imp$humidity[___] <- ___
tao_imp <- ___(___, ___ ~ year + latitude + sea_surface_temp + ___)
}