Zacznij terazZacznij za darmo

Inicjalizacja brakujących wartości i iteracja po zmiennych

Jak właśnie widzisz, wywołanie impute_lm() nie zawsze uzupełnia wszystkie brakujące wartości. Aby mieć pewność, że żadna z nich nie zostanie pominięta, warto najpierw zainicjalizować braki prostą metodą – na przykład imputacją hot-deck poznaną w poprzednim rozdziale, która po prostu przenosi ostatnią zaobserwowaną wartość.

Poza tym pojedyncza imputacja zazwyczaj nie wystarcza. Opiera się na podstawowych wartościach inicjalnych i może być obciążona błędem. Właściwe podejście polega na iterowaniu po zmiennych i imputowaniu ich po jednej, wyłącznie w miejscach, gdzie pierwotnie brakowało danych.

W tym ćwiczeniu najpierw zainicjalizujesz brakujące wartości za pomocą imputacji hot-deck, a następnie pięciokrotnie wykonasz pętlę po zmiennych air_temp i humidity ze zbioru danych tao, imputując je za pomocą regresji liniowej. Do dzieła!

To ćwiczenie jest częścią kursu

Obsługa brakujących danych z imputacją w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Zainicjalizuj brakujące wartości za pomocą imputacji hotdeck().
  • Utwórz maskę logiczną wskazującą miejsca, gdzie pierwotnie brakowało wartości humidity, i przypisz ją do missing_humidity.
  • Wewnątrz pętli for ustaw wartości humidity w tao_imp na NA w miejscach, gdzie pierwotnie brakowało danych – użyj do tego utworzonej maski logicznej.
  • Wewnątrz pętli for zaimputuj humidity w tao_imp za pomocą regresji liniowej, używając year, latitude, sea_surface_temp i air_temp jako predyktorów, a wynik przypisz z powrotem do tao_imp.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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 + ___)
}
Edytuj i uruchom kod