Aan de slagGa gratis aan de slag

Missende waarden initialiseren en over variabelen itereren

Zoals je net hebt gezien, vult impute_lm() niet altijd alle missende waarden in. Om zeker te zijn dat je ze allemaal imputet, moet je de missende waarden eerst initialiseren met een eenvoudige methode, zoals de hot-deck-imputatie uit het vorige hoofdstuk, die simpelweg de laatst geobserveerde waarde doorgeeft.

Bovendien is een enkele imputatie meestal niet genoeg. Die is gebaseerd op de eenvoudig geïnitialiseerde waarden en kan vertekend zijn. Een goede aanpak is om over de variabelen te itereren en ze één voor één te imputeren op de plekken waar ze oorspronkelijk ontbraken.

In deze oefening initialiseer je eerst de missende waarden met hot-deck-imputatie en loop je vervolgens vijf keer over air_temp en humidity uit de tao-gegevens om ze te imputeren met lineaire regressie. Aan de slag!

Deze oefening maakt deel uit van de cursus

Omgaan met missende data met imputaties in R

Cursus bekijken

Oefeninstructies

  • Initialiseer de missende waarden met de hotdeck()-imputatie.
  • Maak een booleaans masker voor waar humidity oorspronkelijk ontbrak en wijs dit toe aan missing_humidity.
  • Zet binnen de for-lus de humidity in tao_imp op NA op de plekken waar deze oorspronkelijk ontbrak met behulp van het gemaakte booleaanse masker.
  • Imputeer binnen de for-lus de humidity in tao_imp met lineaire regressie, met year, latitude, sea_surface_temp en air_temp als voorspellers, en wijs het resultaat opnieuw toe aan tao_imp.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 + ___)
}
Code bewerken en uitvoeren