Tambahkan jumlah rolling diskret ke data PDB
Mengetahui besarnya perubahan dari satu periode ke periode berikutnya memang membantu, tetapi Anda mungkin ingin mengetahui perubahan total sejak awal tahun. Untuk menghasilkan indikator seperti ini, Anda dapat menggunakan pola split-lapply-rbind. Proses ini mirip dengan proses yang digunakan untuk menghasilkan rata-rata suhu bulanan pada bab sebelumnya.
Dalam latihan ini, Anda akan kembali ke data gdp yang digunakan sebelumnya di bab ini. Selain nilai PDB statis pada setiap kuartal, Anda ingin menghasilkan ukuran perubahan PDB dari satu kuartal ke kuartal berikutnya (menggunakan diff()) serta jumlah rolling perubahan PDB sejak awal tahun (menggunakan split(), lapply(), dan rbind()).
Latihan ini adalah bagian dari kursus
Studi Kasus: Menganalisis Data Deret Waktu Kota di R
Petunjuk latihan
- Gunakan
diff()untuk menghasilkan selisih kuartalan sederhana padagdp. Pastikan Anda menentukan kolomgdpdan menetapkanlagsama dengan1periode (dalam hal ini, 1 kuartal). Simpan ke dalam objekgdpAnda sebagaiquarterly_diff. - Setelah Anda memiliki ukuran perubahan PDB kuartalan, langkah berikutnya adalah membagi data
quarterly_diffAnda menjadi per tahun menggunakansplit(). Dalam pemanggilansplit(), pastikan Anda menentukan kolomquarterly_diffdarigdpdan menetapkan argumenfsama dengan"years"(dengan tanda kutip). - Gunakan
lapply()pada data yang baru Anda bagi. Untuk menghitung jumlah kumulatif di setiap tahun, tetapkan argumenFUNsama dengancumsum(tanpa tanda kutip). - Gunakan
do.call()untuk melakukan rbind datagdpchange_ytdAnda kembali menjadi objek xts. - Terakhir, gunakan
plot.xts()untuk meninjau perubahan PDB sejak awal tahun (gdpchange_xts).
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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")