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
Instruções do exercício
- Inicialize os valores ausentes com a imputação
hotdeck(). - Crie uma máscara booleana indicando onde
humidityestava originalmente ausente e atribua-a amissing_humidity. - Dentro do laço for, defina
humidityemtao_impcomoNAnos locais onde ela estava originalmente ausente, usando a máscara booleana que você criou. - Dentro do laço for, impute
humidityemtao_impcom regressão linear, usandoyear,latitude,sea_surface_tempeair_tempcomo preditores, e reatribua o resultado atao_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 + ___)
}