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
Övningsinstruktioner
- Initialisera de saknade värdena med
hotdeck()-imputationen. - Skapa en boolesk mask för de positioner där
humidityursprungligen saknades och tilldela den tillmissing_humidity. - Inuti for-loopen, sätt
humidityitao_imptillNApå de positioner där det ursprungligen saknades, med hjälp av den booleska mask du har skapat. - Inuti for-loopen, imputera
humidityitao_impmed linjär regression och användyear,latitude,sea_surface_tempochair_tempsom prediktorer. Tilldela resultatet tillbaka tilltao_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 + ___)
}