Missende gegevens vervangen - I
Zoals je in de vorige oefening hebt gezien, missen je kwartaal-GDP-gegevens meerdere waarnemingen. Je aanroep van summary() in de vorige oefening liet zelfs 80 missende datapunten zien!
Zoals je je misschien herinnert uit de eerste xts-cursus, bieden xts en zoo verschillende functies om met ontbrekende data om te gaan.
De eenvoudigste techniek is het commando na.locf(), dat de laatste waarneming vóór de ontbrekende data doortrekt (vandaar "last observation carried forward", of locf). Deze aanpak is vaak het meest geschikt om met ontbrekende waarden om te gaan, vooral als je om voorzichtige redenen geen groei wilt veronderstellen in je data.
Een vergelijkbare aanpak werkt in de omgekeerde richting door de eerste waarneming na de ontbrekende waarde terug te trekken ("next observation carried backward", of nocb). Deze techniek kan ook met het commando na.locf() door het argument fromLast op TRUE te zetten.
Welke methode het beste is, hangt af van het type gegevens waarmee je werkt en je aannames over hoe de data in de tijd veranderen.
Deze oefening maakt deel uit van de cursus
Casestudy: Tijdreeksgegevens van een stad analyseren in R
Oefeninstructies
- Gebruik
na.locf()om de ontbrekende waarden ingdp_xtsop te vullen op basis van de laatste waarneming die is doorgetrokken. Sla dit nieuwe xts-object op alsgdp_locf. - Gebruik nog een aanroep van
na.locf()om ontbrekende waarden ingdp_xtsop te vullen op basis van de volgende waarneming die terug wordt doorgetrokken. Zet hiervoor het argumentfromLastopTRUE. Sla dit nieuwe xts-object op alsgdp_nocb. - Plot elk van deze objecten met
plot.xts(). Neem het vooraf geschrevenpar()-commando op om beide plots samen te tonen. - Vraag in elk object (
gdp_locfengdp_nocb) het BBP in 1993 op.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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