【发布时间】:2016-04-20 22:58:53
【问题描述】:
这是这个问题R xts and data.table的延伸。
我知道as.xts.data.table 是data.table 包的新成员。
当我使用IDate(整数日期)设置日期时,在xts 转换后查看表格时出现错误消息:
index.xts(x[1, ]) 中的错误:不支持的“indexClass”索引 类型:IDate
代码片段
library(data.table)
library(xts)
# I am setting dates as IDate here in example, but in my code
# I get a subset from elsewhere
dt <- data.table(date = c(as.IDate("2014-12-31"),
as.IDate("2015-12-31"),
as.IDate("2016-12-31")),
nav = c(100,101,99),
key = "date")
str(dt)
# Classes ‘data.table’ and 'data.frame': 3 obs. of 2 variables:
# $ date: IDate, format: "2014-12-31" "2015-12-31" ...
# $ nav : num 100 101 99
# - attr(*, "sorted")= chr "date"
# - attr(*, ".internal.selfref")=<externalptr>
#convert to xts for PerformanceAnalytics (IDate not supported)
dt.xts <- as.xts.data.table(dt) # seems to work okay but...
str(dt.xts) # gives indexing type error above
我知道IDate 仍在开发中 - “仍处于实验阶段!”。在过渡期间摆脱 IDate 类型以使用 xts 的最佳方法是什么? [我尝试强制类型无济于事 - as.xts(as.Date(dt$date)) ]
未来的as.xts.data.table 可以修复 IDates 吗?
R3.2.2。版本:xts:0.9-7 zoo:1/7-12 data.table:1.9.6
【问题讨论】:
-
好的@Roland 以#1499 完成了这项工作
标签: r data.table xts