Înlocuirea datelor lipsă – I
Așa cum ai descoperit în exercițiul anterior, datele trimestriale despre PIB par să aibă mai multe observații lipsă. De fapt, apelul la summary() din exercițiul precedent a scos la iveală 80 de puncte de date lipsă!
Așa cum poate îți amintești din primul curs despre xts, xts și zoo oferă o varietate de funcții pentru gestionarea datelor lipsă.
Cea mai simplă tehnică este comanda na.locf(), care preia ultima observație de dinaintea datelor lipsă și o propagă înainte (de unde și denumirea „last observation carried forward", adică locf). Această abordare este adesea cea mai potrivită pentru gestionarea valorilor lipsă, mai ales când vrei să fii conservator în privința creșterii datelor.
O abordare similară funcționează în direcția opusă: preia prima observație de după valoarea lipsă și o propagă înapoi („next observation carried backward", adică nocb). Această tehnică poate fi aplicată tot cu comanda na.locf(), setând argumentul fromLast la TRUE.
Cea mai bună metodă depinde de tipul datelor cu care lucrezi și de așteptările tale privind modul în care acestea evoluează în timp.
Acest exercițiu face parte din cursul
Studiu de caz: Analiza seriilor de timp pentru un oraș în R
Instrucțiuni pentru exercițiu
- Folosește
na.locf()pentru a completa valorile lipsă dingdp_xtspe baza ultimei observații propagate înainte. Salvează noul obiect xts cagdp_locf. - Folosește un alt apel la
na.locf()pentru a completa valorile lipsă dingdp_xtspe baza următoarei observații propagate înapoi. Pentru aceasta, setează argumentulfromLastlaTRUE. Salvează noul obiect xts cagdp_nocb. - Reprezintă grafic fiecare dintre aceste obiecte folosind
plot.xts(). Include comandapar()deja scrisă pentru a afișa ambele grafice împreună. - Interoghează fiecare obiect (
gdp_locfșigdp_nocb) pentru valorile PIB din 1993.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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