ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Inițializează valorile lipsă folosind imputarea hotdeck().
  • Creează o mască booleană pentru locurile unde humidity lipsea inițial și atribuie-o variabilei missing_humidity.
  • În interiorul buclei for, setează humidity din tao_imp la NA în pozițiile unde lipsea inițial, folosind masca booleană pe care ai creat-o.
  • În interiorul buclei for, imputează humidity din tao_imp prin regresie liniară, folosind year, latitude, sea_surface_temp și air_temp ca predictori, și reatribuie rezultatul variabilei tao_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 + ___)
}
Editează și rulează codul