我可以一个data.table转换为XTS对象,就像我做的一个data.frame:[R XTS和data.table
> df = data.frame(x = c("a", "b", "c", "d"), v = rnorm(4))
> dt = data.table(x = c("a", "b", "c", "d"), v = rnorm(4))
> xts(df, as.POSIXlt(c("2011-01-01 15:30:00", "2011-01-02 15:30:00", "2011-01-03 15:50:50", "2011-01-04 15:30:00")))
x v
2011-01-01 15:30:00 "a" "-1.2232283"
2011-01-02 15:30:00 "b" "-0.1654551"
2011-01-03 15:50:50 "c" "-0.4456202"
2011-01-04 15:30:00 "d" "-0.9416562"
> xts(dt, as.POSIXlt(c("2011-01-01 15:30:00", "2011-01-02 15:30:00", "2011-01-03 15:50:50", "2011-01-04 15:30:00")))
x v
2011-01-01 15:30:00 "a" " 1.3089579"
2011-01-02 15:30:00 "b" "-1.7681071"
2011-01-03 15:50:50 "c" "-1.4375100"
2011-01-04 15:30:00 "d" "-0.2467274"
是否有使用data.table与XTS任何问题?
没有问题,但事实上它是一个data.table丢失:该数据被转换成一个矩阵(内部的XTS对象)。在你的例子中,它甚至是一个字符串矩阵。 – 2012-02-15 14:41:51
我认为xts在其内部实现中保留了一个data.frame对象,并且只添加了时间索引作为属性。我在xts native上运行索引查询而不是data.frame或data.table查询? – 2012-02-15 14:49:39
@RobertKubrick:与其父类(动物园)一样,xts使用具有索引属性的矩阵(不是数据框)。 – 2012-02-15 16:29:48