开始使用免费开始使用

在 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() 创建名为 mytsts 对象。根据您的观察设置 datastartfrequency

交互式实操练习

通过完成这段示例代码来试试这个练习。

# 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 = ___)
编辑并运行代码