tôi có thể chuyển đổi một data.table một XTS đối tượng cũng giống như tôi làm với một data.frame:XTS R và 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"
Có bất kỳ vấn đề trong việc sử dụng data.table với XTS?
Không có vấn đề, nhưng thực tế đó là một data.table bị mất: các dữ liệu được chuyển thành một ma trận (bên trong XTS đối tượng). Trong ví dụ của bạn, nó thậm chí là một ma trận của chuỗi. –
Tôi nghĩ xts đang giữ một đối tượng data.frame trong việc thực hiện nội bộ của nó và chỉ thêm các chỉ mục thời gian làm các thuộc tính. Có phải các truy vấn lập chỉ mục tôi đang chạy trên các truy vấn gốc xts hơn là data.frame hoặc data.table không? –
@RobertKubrick: xts, giống như lớp cha của nó (vườn thú), sử dụng ma trận (không phải là data.frame) với thuộc tính chỉ mục. –