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

Nahrazení chybějících hodnot – I

Jak jsi zjistil/a v předchozím cvičení, ve čtvrtletních datech HDP chybí několik pozorování. Konkrétně volání summary() odhalilo 80 chybějících hodnot!

Jak si možná pamatuješ z kurzu xts, knihovny xts a zoo nabízejí řadu funkcí pro práci s chybějícími daty.

Nejjednodušší technikou je příkaz na.locf(), který přenáší poslední dostupné pozorování před chybějící hodnotou dopředu (anglicky „last observation carried forward", zkráceně locf). Tento přístup je často nejvhodnějším způsobem, jak řešit chybějící data – zvláště pokud chceš být konzervativní ohledně odhadovaného růstu.

Podobná technika funguje i v opačném směru: bere první dostupné pozorování za chybějící hodnotou a přenáší ho zpět (anglicky „next observation carried backward", zkráceně nocb). I tuto metodu lze použít pomocí na.locf() – stačí nastavit argument fromLast na TRUE.

Která metoda je vhodnější závisí na typu dat a na tom, jaké předpoklady máš o tom, jak se data v čase mění.

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

Případová studie: Analýza časových řad městských dat v R

Zobrazit kurz

Pokyny k cvičení

  • Pomocí na.locf() doplň chybějící hodnoty v gdp_xts metodou přenosu posledního pozorování dopředu. Výsledný xts objekt ulož jako gdp_locf.
  • Dalším voláním na.locf() doplň chybějící hodnoty v gdp_xts metodou přenosu následujícího pozorování zpět. Nastav přitom argument fromLast na TRUE. Výsledný xts objekt ulož jako gdp_nocb.
  • Oba objekty vykresli pomocí plot.xts(). Použij předpřipravený příkaz par(), aby se oba grafy zobrazily vedle sebe.
  • Z každého objektu (gdp_locf a gdp_nocb) získej hodnoty HDP za rok 1993.

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

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

# Fill NAs in gdp_xts with the last observation carried forward
gdp_locf <- 

# Fill NAs in gdp_xts with the next observation carried backward 
gdp_nocb <- 

# Produce a plot for each of your new xts objects
par(mfrow = c(2,1))
plot.xts(___, major.format = "%Y")
plot.xts(___, major.format = "%Y")

# Query for GDP in 1993 in both gdp_locf and gdp_nocb

Upravit a spustit kód