Kom igångKom igång gratis

Initialisera saknade värden och iterera över variabler

Som du nyss sett kan det hända att impute_lm() inte fyller i alla saknade värden. För att säkerställa att alla imputeras bör du initialisera dem med en enkel metod – till exempel hot-deck-imputation, som du lärde dig om i föregående kapitel och som helt enkelt för det senast observerade värdet framåt.

En enda imputationsomgång räcker dessutom sällan. Den bygger på de grundläggande initialiserade värdena och kan vara skev. Ett bättre tillvägagångssätt är att iterera över variablerna och imputera dem en i taget, enbart på de positioner där de ursprungligen saknades.

I den här övningen initialiserar du först de saknade värdena med hot-deck-imputation och loopar sedan fem gånger över air_temp och humidity i datamängden tao för att imputera dem med linjär regression. Sätt igång!

Den här övningen är en del av kursen

Hantering av saknade värden med imputering i R

Visa kurs

Övningsinstruktioner

  • Initialisera de saknade värdena med hotdeck()-imputationen.
  • Skapa en boolesk mask för de positioner där humidity ursprungligen saknades och tilldela den till missing_humidity.
  • Inuti for-loopen, sätt humidity i tao_imp till NA på de positioner där det ursprungligen saknades, med hjälp av den booleska mask du har skapat.
  • Inuti for-loopen, imputera humidity i tao_imp med linjär regression och använd year, latitude, sea_surface_temp och air_temp som prediktorer. Tilldela resultatet tillbaka till tao_imp.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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 + ___)
}
Redigera och kör kod