ComeçarComece de graça

Inicializando valores ausentes e iterando sobre variáveis

Como você acabou de ver, executar impute_lm() pode não preencher todos os valores ausentes. Para garantir que você impute todos eles, é recomendável inicializar os valores ausentes com um método simples, como a imputação hot-deck que você viu no capítulo anterior, que basicamente propaga adiante o último valor observado.

Além disso, uma única imputação geralmente não é suficiente. Ela se baseia nos valores inicializados e pode estar enviesada. Uma abordagem apropriada é iterar sobre as variáveis, imputando uma de cada vez nas posições onde originalmente estavam ausentes.

Neste exercício, você vai primeiro inicializar os valores ausentes com hot-deck e depois percorrer cinco vezes air_temp e humidity do conjunto tao para imputá-los com regressão linear. Vamos lá!

Este exercício faz parte do curso

Tratamento de Dados Ausentes com Imputações em R

Ver curso

Instruções do exercício

  • Inicialize os valores ausentes com a imputação hotdeck().
  • Crie uma máscara booleana indicando onde humidity estava originalmente ausente e atribua-a a missing_humidity.
  • Dentro do laço for, defina humidity em tao_imp como NA nos locais onde ela estava originalmente ausente, usando a máscara booleana que você criou.
  • Dentro do laço for, impute humidity em tao_imp com regressão linear, usando year, latitude, sea_surface_temp e air_temp como preditores, e reatribua o resultado a tao_imp.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código