Zooreg频率警告
假设我有以下一组数据:Zooreg频率警告,r,zoo,R,Zoo,假设我有以下一组数据: date <- structure(c(1986, 1986.08333333333, 1986.16666666667), class = "yearmon") return <- structure(c(0.000827577426231287, 0.00386371801344005, 0.00382634819565989 ), .Dim = 3L, .Dimnames = list(c("1986-01", "1986-02", "1986-03"
date <- structure(c(1986, 1986.08333333333, 1986.16666666667), class = "yearmon")
return <- structure(c(0.000827577426231287, 0.00386371801344005, 0.00382634819565989
), .Dim = 3L, .Dimnames = list(c("1986-01", "1986-02", "1986-03"
)))
警告信息:
动物园内(数据、订单、频率):
“order.by”和“frequency”不匹配:“frequency”已忽略
序列是严格规则的,
顺序。按
和频率
应该匹配,但我仍然不明白为什么会出现警告 根据文档(?yearmon
):
“yearmon”类用于表示每月数据。在内部,它将数据保存为年份加0表示1月,1/12表示2月,2/12表示3月,依此类推,以便其内部表示与ts类相同,频率为12
电话:
zooreg(return, order.by = date)
相当于打电话
zoo(return, order.by = date, frequency = 1)
根据
Arguments::frequency
下的zoo
文档:
如果指定,则检查order.by和frequency是否符合要求
因此发出警告。要消除警告,请使用
z <- zooreg(return, order.by = date, frequency = 12)
根据文件(?zoo
)的规定
这是“zoo”的一个子类,它依赖于拥有一个带有附加“frequency”属性的“zoo”系列(必须符合该系列的索引)
我相信这就是你想要的
请注意,使用不匹配的“order.by”和“frequency”调用
年份
不是整数。这是故意的吗?@Christoph不,不是,它是将每日股票收益数平均化为每月价值的结果。
z <- zooreg(return, order.by = date, frequency = 12)
z <- zoo(return, order.by = date, frequency = 12)
str(z)
‘zooreg’ series from Jan 1986 to Mar 1986
Data: Named num [1:3] 0.000828 0.003864 0.003826
- attr(*, "names")= chr [1:3] "1986-01" "1986-02" "1986-03"
Index: Class 'yearmon' num [1:3] 1986 1986 1986
Frequency: 12
z <- zooreg(return, order.by = date)
str(z)
‘zoo’ series from Jan 1986 to Mar 1986
Data: Named num [1:3] 0.000828 0.003864 0.003826
- attr(*, "names")= chr [1:3] "1986-01" "1986-02" "1986-03"
Index: Class 'yearmon' num [1:3] 1986 1986 1986