热线电话:13121318867

登录
2018-10-17 阅读量: 1476
怎么对时间序列进行转化?一个函数来解决

时间序列对象是一种专为时间序列分析而设计的对象类型,其中包括两个维度,一个是描述指标的数值,还有一维是时间。时间序列对象和一般数值型向量类似,只不过是加了一个时间的描述。在R语言中可以使用ts(数据向量,frequency=表示将时间分开的时间间隔,start=c(第一个数据所表示的年,月))。详见下面的的例子。

> sales.data<-read.csv("citysales.csv")  #读取处于R工作目录下的一个文件
> sales.data   #可以看见读取的数据为一个data.frame数据框
     City ProductA ProductB ProductC
1 Seattle       23       11       12
2  London       89        6       56
3   Tokyo       24        7       13
4  Berlin       36       34       44
5  Mumbai        3       78       14
> sales1<-c(sales.dataProductA,sales.dataProductB,sales.data$ProductC) #把数据提取出来形成一个数值型向量,以便于使用ts时使用
> sales1  #可以看到已经转变为了一个数值型向量,共有十五个数据
[1] 23 89 24 36  3 11  6  7 34 78 12 56 13 44 14
> sales.ts<-ts(sales1,frequency=12,start=c(2014,1)) #使用ts函数对数据将刚才数值型向量转化为一个时间序列对象,数值就是指标,然后为每一个数据加上一个日期标签,就完成时间序列的转化。Frequency等于12表示将这15个数据划分到十二个月中,超过的从第一个月开始,以此类推,start表示第一个数据所处的年和月份。
> sales.ts
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2014  23  89  24  36   3  11   6   7  34  78  12  56
2015  13  44  14                                    
> plot(sales.ts,type="b",col="red")#画出这个时间序列的图,x轴根据时间序列转化为的矩阵时间表示,纵轴表示指标数据。
75.3065
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子