54854 19

[学习分享] 时间序列(使用ts()函数进行时间序列转化) [推广有奖]

  • 5关注
  • 8粉丝

已卖:375份资源

博士生

38%

还不是VIP/贵宾

-

威望
0
论坛币
3139 个
通用积分
73.7948
学术水平
37 点
热心指数
36 点
信用等级
23 点
经验
33667 点
帖子
298
精华
0
在线时间
141 小时
注册时间
2012-11-23
最后登录
2022-9-18

楼主
奇渥温·沙加 发表于 2015-12-3 21:36:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

时间序列(使用ts()函数进行时间序列转化)

时间序列对象是一种专为时间序列分析而设计的对象类型,其中包括两个维度,一个是描述指标的数值,还有一维是时间。时间序列对象和一般数值型向量类似,只不过是加了一个时间的描述。在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.data$ProductA,sales.data$ProductB,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轴根据时间序列转化为的矩阵时间表示,纵轴表示指标数据。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:时间序列 Frequency Product produc LONDON frequency start

图片1.png (12.92 KB)

图片1.png

沙发
tgb0405 发表于 2015-12-4 10:05:03
学习了

藤椅
joinber 发表于 2015-12-4 11:00:43
学习

板凳
zx... 发表于 2015-12-4 22:11:54
学习了,谢谢,楼主

报纸
会思恋的风 学生认证  发表于 2015-12-26 15:15:38
现在的问题是,如果是每日的数据怎么转化

地板
奇渥温·沙加 发表于 2015-12-27 21:05:49
会思恋的风 发表于 2015-12-26 15:15
现在的问题是,如果是每日的数据怎么转化
你可以通过设置frequency和start来调整周期和时序的划分

7
会思恋的风 学生认证  发表于 2015-12-28 13:44:35
奇渥温·沙加 发表于 2015-12-27 21:05
你可以通过设置frequency和start来调整周期和时序的划分
怎么设置呢,举个例子,data是上证50指数2008/1/4到2015/12/2的daily的数据,这里的frequency与start怎么设置,即da<-ts(data,frequency=?,start=c(?)).谢谢

8
奇渥温·沙加 发表于 2015-12-28 16:19:41 来自手机
会思恋的风 发表于 2015-12-28 13:44
怎么设置呢,举个例子,data是上证50指数2008/1/4到2015/12/2的daily的数据,这里的frequency与start怎么 ...
frequency =360,start=c(2008,4,1)

9
xiang_z0100 发表于 2015-12-29 21:35:17
奇渥温·沙加 发表于 2015-12-28 16:19
frequency =360,start=c(2008,4,1)
frequency =360,start=c(2008,4,1)  为什么不是365 ?谢谢

10
xiang_z0100 发表于 2015-12-29 21:35:50
奇渥温·沙加 发表于 2015-12-28 16:19
frequency =360,start=c(2008,4,1)
frequency =360,start=c(2008,4,1)  为什么不是365 ?谢谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 17:18