- 在R中生成时序对象
在R中分析时间序列的前提是我们将分析 对象转为时间序列对象(time-series object),即在R中一种包括观测值、起始时间、终止时间以及周期(如月、季度或年)的结果
一个 数值型向量或数据框中的一列可以通过 ts() 函数存储为时序对象
myseries <- ts(data, start= , end =, frequency)
data :原始的包含观测值的数值型向量
start:时序的起始时间
end:时序的结束时间
frequency:为每个单位时间所包含的观测数量(frequency = 1为对应年度数据,frequency =12为对应月度数据,frequency=4对应季度数据)
生成一个时序对象
> sales <- c(18, 33, 41, 7, 34, 35, 24, 25, 24, 21, 25, 20,
+ 22, 31, 40, 29, 25, 21, 22, 54, 31, 25, 26, 35)
> tsales <- ts(sales,start=c(2003,1),frequency = 12) #2003年1月开始
> tsales
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2003 18 33 41 7 34 35 24 25 24 21 25 20
2004 22 31 40 29 25 21 22 54 31 25 26 35
> plot(tsales)
> start(tsales) #获取起始时间
[1] 2003 1
> end(tsales) #获取结束时间
[1] 2004 12
> frequency(tsales) #获取单位时间所包含的观测数据
[1] 12
> tsales.subset <- window(tsales,start=c(2003,5),end=c(2004,6)) #通过window()获取子集
> tsales.subset
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2003 34 35 24 25 24 21 25 20
2004 22 31 40 29 25 21