#r #datatable #xts
#r #datatable #xts
Вопрос:
У меня есть datatable, и теперь я хотел бы выполнить некоторые вычисления в xts, используя синтаксис datatable. Мой первый вопрос заключается в том, рекомендуется ли это вообще, это означает, хорошо ли работают два пакета вместе. Альтернативой было бы преобразовать datatable в xts и преобразовать его в обратном направлении после преобразований, которые я планирую выполнить с xts.
Следующий простой DT иллюстрирует мою проблему:
library(data.table)
dataset <- data.table(ID=c(rep("A",4416),rep("B",4416)),
x = c(rnorm(2208*2)), time=c(seq(as.Date("1988/03/15"),
as.Date("2000/04/16"), "day"),seq(as.Date("1988/03/15"),
as.Date("2000/04/16"), "day")))
dataset
library(xts)
dataset[,x_xts := NULL]
dataset[,x_xts := xts(x,order.by = time),by=ID]
dataset # this looks fine
str(dataset) # this throws an error
1) Можете ли вы порекомендовать работать с xts в datatable?
2) Если нет, вы бы порекомендовали преобразовать datatable в xts и обратно впоследствии?
Чтобы предоставить больше информации, я хочу оценить модель ARIMA для каждого блока на панели, вот почему мне нужно использовать xts, я думаю. Спасибо.
Ответ №1:
Я думаю, что эта str(dataset)
ошибка больше связана с str
, чем с комбинацией data.table
и xts
Если вы используете альтернативную функцию glimpse
из dplyr
или выполняете другие операции, она работает нормально:
library(dplyr)
glimpse(dataset)
##Examples
cor(dataset$x,dataset$x_xts)
lm(formula = x~x_xts, data=dataset)
dataset[, A:=x_xts*x]
В любом случае, вы также можете использовать as.xts.data.table
функцию, если вам так удобнее: https://www.rdocumentation.org/packages/data.table/versions/1.12.0/topics/as.xts.data.table