ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Inicializa los valores ausentes con la imputación hotdeck().
  • Crea una máscara booleana indicando dónde humidity faltaba originalmente y asígnala a missing_humidity.
  • Dentro del bucle for, establece humidity en tao_imp a NA en los lugares donde faltaba originalmente utilizando la máscara booleana que has creado.
  • Dentro del bucle for, imputa humidity en tao_imp con regresión lineal, usando year, latitude, sea_surface_temp y air_temp como predictores y vuelve a asignar el resultado a tao_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 + ___)
}
Editar y ejecutar código