在 R 中创建时间序列对象
可以将时间序列理解为带有时间记录信息的一组数字(向量或矩阵)。这些时间信息会存储在 R 的 ts 对象中。在大多数练习中,您会使用来自现有包的时间序列。不过,若要处理您自己的数据,您需要了解如何在 R 中创建一个 ts 对象。
下面来看一个示例 usnim_2002,包含 2002 年美国银行的净利差(来源: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)
函数 ts() 接受三个参数:
data设为usnim_2002中除日期列外的所有内容;不需要日期列,因为ts对象会单独存储时间信息。start使用c(year, period)的形式来指示首个观测的时间。在这里,1 月对应 period 1;同理,起始日期若在 4 月则为 2,7 月为 3,10 月为 4。也就是说,period 对应年份中的季度。frequency设为 4,因为数据是按季度记录的。
在本练习中,您将使用 readxl 包中的 read_excel() 从一个 xlsx 文件读入时间序列数据,并将其存为一个 ts 对象。xlsx 文件和相关包都已加载到您的工作区。
本练习是课程的一部分
R 中的预测
练习说明
- 使用
read_excel()将"exercise1.xlsx"中的数据读入到mydata。 - 在 R 控制台对
mydata使用head()查看前几行。留意日期——1981 年有 4 条观测,说明这是按季度记录的数据,每年有 4 行的 frequency。首个观测或 start 日期为Mar-81,它是 1981 年的首行,说明 3 月对应第一个 period。 - 使用
ts()创建名为myts的ts对象。根据您的观察设置data、start和frequency。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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 = ___)