全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
70293 23
2013-08-19
悬赏 20 个论坛币 已解决
可用ts()生成时间序列,frequency=1表示年度数据,frequency=4表示季度数据,frequency=12表示月度数据,但是,如果是日期型数据,即以天为间隔,如何写呢?
谢谢!

最佳答案

统计R浪人 查看完整内容

运行结果: > #生成时间序列数 > n t s dates t head(t) dates t 1 2010-01-29 1 2 2010-01-30 2 3 2010-01-31 3 4 2010-02-01 4 5 2010-02-02 5 6 2010-02-03 6
二维码

扫码加我 拉你入群

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

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

全部回复
2013-8-19 13:23:05
复制代码
运行结果:
>  #生成时间序列数
>  n<-36
>  t<-ts(1:n, frequency =1, start =as.Date("2010-01-29"))
>  s <- as.Date("2010-01-29")
>  dates<-seq(from=s, by=1, length.out=n)
>  t<-data.frame(dates,t)
>  head(t)
       dates t
1 2010-01-29 1
2 2010-01-30 2
3 2010-01-31 3
4 2010-02-01 4
5 2010-02-02 5
6 2010-02-03 6
二维码

扫码加我 拉你入群

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

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

2013-8-20 09:40:24
统计R浪人 发表于 2013-8-20 08:23
运行结果:
>  #生成时间序列数
>  n  t  s   dates  t  head(t)
能否不用数据框函数,直接用ts()生成呢?那样便于进一步的时间序列处理,比如acf()函数。
非常感谢!
二维码

扫码加我 拉你入群

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

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

2013-8-20 13:22:09
frequency=365
n<-367
t<-ts(1:n, frequency =365, start =c(2008,01))
像闰年就不好识别了,一年就规定成了365个frequency
不过还是建议使用zoo包,更方便

date<-seq(as.Date("2010-02-01"), length=367, by="day")
library(zoo)
data<-zoo(1:367,date)
二维码

扫码加我 拉你入群

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

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

2013-8-24 14:51:11
童小军 发表于 2013-8-20 13:22
frequency=365
n
如果生成以分钟为单位的时间序列呢?
二维码

扫码加我 拉你入群

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

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

2015-3-15 21:55:34
我也是用楼上给出的ts()函数算的,但是接下来预测的时候用这个时间的格式就不对,不知楼主有没有这种情况呢
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群