Voeg een discrete rolling som toe aan BBP-gegevens
Het is handig om te weten hoeveel er van de ene naar de volgende periode verandert, maar je wilt misschien ook de totale verandering sinds het begin van het jaar weten. Om dit soort indicator te maken, kun je het split-lapply-rbind-patroon gebruiken. Dit lijkt op het proces dat je gebruikte om maandelijkse temperatuurgemiddelden te berekenen in het vorige hoofdstuk.
In deze oefening ga je terug naar de gdp-gegevens die eerder in het hoofdstuk zijn gebruikt. Naast statische BBP-waarden per kwartaal wil je een maatstaf maken voor de BBP-verandering van het ene naar het volgende kwartaal (met diff()) én een rolling som van de cumulatieve BBP-verandering sinds het begin van het jaar (met split(), lapply() en rbind()).
Deze oefening maakt deel uit van de cursus
Casestudy: Tijdreeksgegevens van een stad analyseren in R
Oefeninstructies
- Gebruik
diff()om een eenvoudige kwartaalverschil ingdpte maken. Zorg dat je degdp-kolom specificeert en zetlaggelijk aan1periode (in dit geval 1 kwartaal). Sla dit in jegdp-object op alsquarterly_diff. - Nu je een maat hebt voor de kwartaalverandering van het BBP, is de volgende stap om je
quarterly_diff-gegevens per jaar te splitsen metsplit(). Geef in je aanroep vansplit()dequarterly_diff-kolom vangdpop en zet hetf-argument gelijk aan"years"(met aanhalingstekens). - Gebruik
lapply()op je nieuw gesplitste gegevens. Om een cumulatieve som per jaar te berekenen, zet je hetFUN-argument gelijk aancumsum(zonder aanhalingstekens). - Gebruik
do.call()om jegdpchange_ytd-gegevens weer aan elkaar te rbind-en tot één xts-object. - Gebruik tot slot
plot.xts()om de cumulatieve verandering in het BBP tot nu toe (gdpchange_xts) te bekijken.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Add a quarterly difference in gdp
gdp$quarterly_diff <- diff(___$___, lag = ___, differences = ___)
# Split gdp$quarterly_diff into years
gdpchange_years <- split(___$___, f = "___")
# Use lapply to calculate the cumsum each year
gdpchange_ytd <- lapply(___, FUN = ___)
# Use do.call to rbind the results
gdpchange_xts <- do.call(rbind, ___)
# Plot cumulative year-to-date change in GDP
plot.xts(___, type = "h")