gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 23:42:08 26 4
gpt4 key购买 nike

我正在创建一个每周(7 天)频率的 xts 对象,用于预测。但是,即使使用 frequency=7 xts 中的参数调用,生成的 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,因为连续日期相隔 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 不支持这种类型的系列。

关于r - 为什么这个 xts 频率总是 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com