Tạo đối tượng chuỗi thời gian trong R
Một chuỗi thời gian có thể được hiểu là một vector hoặc ma trận số kèm theo thông tin về thời điểm các con số đó được ghi nhận. Thông tin này được lưu trong một đối tượng ts trong R. Trong hầu hết các bài tập, bạn sẽ dùng các chuỗi thời gian thuộc các gói sẵn có. Tuy nhiên, nếu muốn làm việc với dữ liệu của riêng mình, bạn cần biết cách tạo một đối tượng ts trong R.
Hãy xem ví dụ usnim_2002 bên dưới, chứa biên lợi nhuận lãi ròng của các ngân hàng Mỹ trong năm 2002 (nguồn: FFIEC).
> usnim_2002
usnim
1 2002-01-01 4.08
2 2002-04-01 4.10
3 2002-07-01 4.06
4 2002-10-01 4.04
> # ts(data, start, frequency, ...)
> usnim_ts = ts(usnim_2002[, 2], start = c(2002, 1), frequency = 4)
Hàm ts() nhận ba đối số:
datađược đặt là toàn bộusnim_2002ngoại trừ cột ngày; cột ngày không cần thiết vì đối tượngtssẽ lưu trữ thông tin thời gian riêng.startcó dạngc(year, period)để chỉ thời điểm của quan sát đầu tiên. Ở đây, January tương ứng kỳ 1; tương tự, ngày bắt đầu vào April sẽ là 2, July là 3, và October là 4. Như vậy, period tương ứng với quý trong năm.frequencyđược đặt là 4 vì dữ liệu theo quý.
Trong bài tập này, bạn sẽ đọc một số dữ liệu chuỗi thời gian từ tệp xlsx bằng read_excel(), một hàm của gói readxl, và lưu dữ liệu thành một đối tượng ts. Cả tệp xlsx và gói đã được nạp sẵn vào không gian làm việc của bạn.
Bài tập này là một phần của khóa học
Dự báo bằng R
Hướng dẫn bài tập
- Dùng hàm
read_excel()để đọc dữ liệu từ"exercise1.xlsx"vàomydata. - Gọi
head()trênmydatatrong R console để xem vài dòng đầu tiên. Hãy quan sát các ngày — có bốn quan sát trong năm 1981, cho thấy dữ liệu theo quý với frequency là bốn dòng mỗi năm. Quan sát đầu tiên hay ngày start làMar-81, dòng đầu tiên trong bốn dòng của year 1981, cho thấy March tương ứng với period thứ nhất. - Tạo một đối tượng
tstênmytsbằngts(). Thiết lậpdata,startvàfrequencydựa trên những gì bạn vừa quan sát.
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.
# Read the data from Excel into R
___ <- ___("exercise1.xlsx")
# Look at the first few lines of mydata
___
# Create a ts object called myts
myts <- ts(___[___], start = c(___, ___), frequency = ___)