我可以一個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