When using data.table
is it possible to return all the columns except one, like in data.frame
?
If the answer is no, does anyone have an elegant way to transform a multiple time series data.table
to a zoo
or other time series object?
Consider the following example:
library(data.table)
library(zoo)
## DEFINE DATA
set.seed(1)
dt = data.table(
mydates = as.Date("2012-01-01") + 1:9,
value1 = sort(rpois(9, 6)),
value2 = sort(rpois(9, 6)),
value3 = sort(rpois(9, 6)),
value4 = sort(rpois(9, 6)),
value5 = sort(rpois(9, 6)))
## CONVERT TO DATA FRAME
df = as.data.frame(dt)
## CONVERT TO ZOO
zooObj = zoo(df[,-1], df$mydates)
## EXAMPLE OF DESIRED RESULTS
plot(zooObj, col=1:ncol(zooObj))
How would I do that without df = as.data.frame(dt)
?
Try with=FALSE
:
dt[,-1,with=FALSE]
As an aside, feature request #416 is related :
Add not join DT[-J(...)]
, and not columns DT[,-"colC",with=FALSE]
.