MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Gunakan diff() untuk menghasilkan selisih kuartalan sederhana pada gdp. Pastikan Anda menentukan kolom gdp dan menetapkan lag sama dengan 1 periode (dalam hal ini, 1 kuartal). Simpan ke dalam objek gdp Anda sebagai quarterly_diff.
  • Setelah Anda memiliki ukuran perubahan PDB kuartalan, langkah berikutnya adalah membagi data quarterly_diff Anda menjadi per tahun menggunakan split(). Dalam pemanggilan split(), pastikan Anda menentukan kolom quarterly_diff dari gdp dan menetapkan argumen f sama dengan "years" (dengan tanda kutip).
  • Gunakan lapply() pada data yang baru Anda bagi. Untuk menghitung jumlah kumulatif di setiap tahun, tetapkan argumen FUN sama dengan cumsum (tanpa tanda kutip).
  • Gunakan do.call() untuk melakukan rbind data gdpchange_ytd Anda 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")
Edit dan Jalankan Kode