我正在尝试合并到xts
对象中的各种财务数据,因此我可以执行多个统计分析。但是,从原始数据转移到zoo
对象到xts
对象时,我遇到了日期问题。
例如,我读了一些对冲基金的返回数据,使用ymd
包中的lubridate
函数更改报表日期变量,创建一个zoo
对象,然后就像check创建一个timeSeries对象。一切似乎都没问题,但是当我尝试创建xts
对象时,我仍然会收到错误,如下所示:
hfIndexes$ReportDt <- ymd(hfIndexes$ReportDt)
hfIndexesZoo <- zoo(hfIndexes,order.by="ReportDt")
hfIndexesTimeSeries <- as.timeSeries(hfIndexesZoo)
hfIndexesXTS <- as.xts(hfIndexesZoo)
Error in xts(coredata(x), order.by = order.by, frequency = frequency, :
order.by requires an appropriate time-based object
我需要做些什么来确保我有正确的基于时间的对象来创建所需的xts
对象?
答案 0 :(得分:0)
考虑这个答案:https://stackoverflow.com/a/4297342/3253015
order.by
是xts对象中需要的参数。当我们处理时间序列时,你可以认为它是一个,它创建了一个排序框架,数据放入其中。因此,您告诉as.xts
您想要的数据是由order.by
中给出的基于时间的对象间隔开的。