posso convertire un data.table a un XTS oggetto proprio come faccio con un data.frame:XTS R e 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'è qualche problema nell'utilizzo data.table con XTS?
Non c'è problema, ma il fatto era un data.table viene persa: i dati vengono convertiti in una matrice (all'interno delle xts oggetto). Nel tuo esempio, è anche una matrice di stringhe. –
Pensavo che xts mantenesse un oggetto data.frame nella sua implementazione interna e aggiungesse solo indici temporali come attributi. Le query di indicizzazione sono in esecuzione su xts native anziché su data.frame o query.table? –
@RobertKubrick: xts, come la sua classe genitore (zoo), usa una matrice (non un data.frame) con un attributo indice. –