Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Gebruik diff() om een eenvoudige kwartaalverschil in gdp te maken. Zorg dat je de gdp-kolom specificeert en zet lag gelijk aan 1 periode (in dit geval 1 kwartaal). Sla dit in je gdp-object op als quarterly_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 met split(). Geef in je aanroep van split() de quarterly_diff-kolom van gdp op en zet het f-argument gelijk aan "years" (met aanhalingstekens).
  • Gebruik lapply() op je nieuw gesplitste gegevens. Om een cumulatieve som per jaar te berekenen, zet je het FUN-argument gelijk aan cumsum (zonder aanhalingstekens).
  • Gebruik do.call() om je gdpchange_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")
Code bewerken en uitvoeren