当前位置:  开发笔记 > 编程语言 > 正文

为什么这个xts频率总是1?

如何解决《为什么这个xts频率总是1?》经验,为你挑选了1个好方法。

我正在创建一个xts对象,每周(7天)频率用于预测.但是,即使frequency=7xts调用中使用参数,生成的xts对象的频率也为1.

以下是随机数据的示例:

> values <- rnorm(364, 10)
> days <- seq.Date(from=as.Date("2014-01-01"), to=as.Date("2014-12-30"), by='days')
> x <- xts(values, order.by=days, frequency=7)
> frequency(x)
[1] 1

在使用上面的代码后,我也试过了 frequency(x) <- 7.但是,这改变了类的x只有zooregzoo,失去了xts班,并与时间戳格式搞乱.

xts是否会根据以某种方式分析数据自动选择频率?如果是这样,您如何覆盖它以设置特定频率用于预测目的(在这种情况下,将季节性时间序列传递给ets预测包)?

据我所知,xts可能不允许频率没有意义,但每日时间戳的频率为7似乎很合乎逻辑.



1> G. Grothendi..:

连续日期类日期的频率始终为1,因为连续日期相隔1.使用ts或zooreg获得7的频率:

tt <- ts(values, frequency = 7)

library(zoo)
zr <- as.zooreg(tt)
# or
zr <- zooreg(values, frequency = 7)

这些将创建一个时间为1,1 + 1/7,1 + 2/7,...的系列.

如果我们有一些zr的索引值

zrdates <- index(zr)[5:12]

我们可以zrdates像这样恢复日期:

days[match(zrdates, index(zr))]

正如评论中指出的那样,xts不支持这种类型的系列.

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有