Začněte nyníZačněte zdarma

Inicializace chybějících hodnot a iterace přes proměnné

Jak ses právě přesvědčil/a, funkce impute_lm() nemusí vždy doplnit všechny chybějící hodnoty. Aby se imputovaly skutečně všechny, je dobré nejprve inicializovat chybějící hodnoty jednoduchou metodou – například hot-deck imputací z předchozí kapitoly, která jednoduše přenáší poslední pozorovanou hodnotu dopředu.

Navíc jedna imputace obvykle nestačí. Vychází totiž jen ze základních inicializovaných hodnot a může být zkreslená. Správný přístup je iterovat přes jednotlivé proměnné a imputovat je jednu po druhé pouze na těch místech, kde původně chyběly.

V tomto cvičení nejprve inicializuješ chybějící hodnoty pomocí hot-deck imputace a pak pětkrát projdeš cyklem přes proměnné air_temp a humidity z dat tao a imputuješ je pomocí lineární regrese. Pojďme na to!

Toto cvičení je součástí kurzu

Práce s chybějícími daty pomocí imputace v R

Zobrazit kurz

Pokyny k cvičení

  • Inicializuj chybějící hodnoty pomocí imputace hotdeck().
  • Vytvoř booleovskou masku označující místa, kde humidity původně chybělo, a přiřaď ji do proměnné missing_humidity.
  • Uvnitř cyklu for nastav humidity v tao_imp na NA na místech, kde původně chybělo – použij přitom booleovskou masku, kterou jsi vytvořil/a.
  • Uvnitř cyklu for imputuj humidity v tao_imp pomocí lineární regrese s prediktory year, latitude, sea_surface_temp a air_temp a výsledek znovu přiřaď do tao_imp.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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 + ___)
}
Upravit a spustit kód