Zacznij terazZacznij za darmo

Dodawanie dyskretnej kroczącej sumy do danych PKB

Znajomość zmiany wartości z okresu na okres jest przydatna, ale czasem ważniejsza jest łączna zmiana od początku roku. Aby wygenerować taki wskaźnik, możesz użyć wzorca split-lapply-rbind. Proces ten jest podobny do tego, którego użyto do obliczania miesięcznych średnich temperatur w poprzednim rozdziale.

W tym ćwiczeniu wrócisz do danych gdp z wcześniejszej części rozdziału. Oprócz statycznych wartości PKB w każdym kwartale, wygenerujesz miarę zmiany PKB między kolejnymi kwartałami (używając diff()), a także kroczącą sumę narastającą zmiany PKB od początku roku (używając split(), lapply() i rbind()).

To ćwiczenie jest częścią kursu

Studium przypadku: analiza danych szeregów czasowych miasta w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj diff(), aby obliczyć prostą kwartalną różnicę w gdp. Pamiętaj, aby wskazać kolumnę gdp i ustawić argument lag równy 1 (czyli 1 kwartał). Zapisz wynik w obiekcie gdp jako quarterly_diff.
  • Mając już miarę kwartalnej zmiany PKB, podziel dane quarterly_diff na lata przy użyciu split(). W wywołaniu split() wskaż kolumnę quarterly_diff z obiektu gdp i ustaw argument f na "years" (w cudzysłowie).
  • Zastosuj lapply() na właśnie podzielonych danych. Aby obliczyć sumę narastającą w każdym roku, ustaw argument FUN na cumsum (bez cudzysłowu).
  • Użyj do.call(), aby połączyć dane gdpchange_ytd z powrotem w obiekt xts za pomocą rbind.
  • Na koniec użyj plot.xts(), aby zwizualizować narastającą zmianę PKB od początku roku (gdpchange_xts).

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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")
Edytuj i uruchom kod