Inițializarea valorilor lipsă și iterarea peste variabile
Așa cum tocmai ai văzut, rularea funcției impute_lm() s-ar putea să nu completeze toate valorile lipsă. Pentru a te asigura că le imputezi pe toate, ar trebui să inițializezi valorile lipsă cu o metodă simplă, cum ar fi imputarea hot-deck pe care ai învățat-o în capitolul anterior – aceasta preia pur și simplu ultima valoare observată.
În plus, o singură imputare nu este de obicei suficientă. Aceasta se bazează pe valorile inițializate de bază și poate fi părtinită. O abordare corectă este să iterezi peste variabile, imputându-le pe rând în locurile unde aveau inițial valori lipsă.
În acest exercițiu, vei inițializa mai întâi valorile lipsă cu imputarea hot-deck, apoi vei parcurge de cinci ori air_temp și humidity din setul de date tao pentru a le imputa prin regresie liniară. Să începem!
Acest exercițiu face parte din cursul
Gestionarea datelor lipsă prin imputare în R
Instrucțiuni pentru exercițiu
- Inițializează valorile lipsă folosind imputarea
hotdeck(). - Creează o mască booleană pentru locurile unde
humiditylipsea inițial și atribuie-o variabileimissing_humidity. - În interiorul buclei for, setează
humiditydintao_implaNAîn pozițiile unde lipsea inițial, folosind masca booleană pe care ai creat-o. - În interiorul buclei for, imputează
humiditydintao_impprin regresie liniară, folosindyear,latitude,sea_surface_tempșiair_tempca predictori, și reatribuie rezultatul variabileitao_imp.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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 + ___)
}