Thêm tổng lăn rời rạc vào dữ liệu GDP
Biết mức thay đổi từ kỳ này sang kỳ tiếp theo là hữu ích, nhưng bạn có thể muốn biết mức thay đổi tổng kể từ đầu năm. Để tạo kiểu chỉ báo này, bạn có thể dùng mẫu split-lapply-rbind. Quy trình này tương tự như quy trình dùng để tính trung bình nhiệt độ theo tháng ở chương trước.
Trong bài tập này, bạn sẽ quay lại dữ liệu gdp đã dùng trước đó trong chương. Bên cạnh giá trị GDP tĩnh ở mỗi quý, bạn muốn tạo thêm một thước đo mức thay đổi GDP từ quý này sang quý tiếp theo (dùng diff()) cũng như một tổng lăn của mức thay đổi GDP lũy kế từ đầu năm (dùng split(), lapply() và rbind().
Bài tập này là một phần của khóa học
Nghiên cứu tình huống: Phân tích dữ liệu chuỗi thời gian của thành phố bằng R
Hướng dẫn bài tập
- Dùng
diff()để tạo chênh lệch đơn giản theo quý chogdp. Nhớ chỉ định cộtgdpvà đặtlagbằng1kỳ (trong trường hợp này là 1 quý). Lưu kết quả vào đối tượnggdpdưới tênquarterly_diff. - Giờ bạn đã có thước đo thay đổi GDP theo quý, bước tiếp theo là tách dữ liệu
quarterly_difftheo năm bằngsplit(). Trong lệnh gọisplit(), hãy chỉ định cộtquarterly_diffcủagdpvà đặt đối sốfbằng"years"(có dấu ngoặc kép). - Dùng
lapply()cho dữ liệu vừa được tách. Để tính tổng lũy kế trong mỗi năm, đặt đối sốFUNbằngcumsum(không có ngoặc kép). - Dùng
do.call()để rbind dữ liệugdpchange_ytdtrở lại thành một đối tượng xts. - Cuối cùng, dùng
plot.xts()để xem mức thay đổi GDP lũy kế từ đầu năm (gdpchange_xts).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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")