如何从data.table中排除一列或者将data.table转换为MTS

当使用data.table有可能返回除了一个的所有列,如在data.frame

如果答案是否定的,有没有人有一个优雅的方式来将多个时间序列data.table转换为zoo或其他时间序列对象?

考虑下面的例子:

 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)) 

如果没有df = as.data.frame(dt) ,我该怎么做?

尝试with=FALSE

 dt[,-1,with=FALSE] 

另外,function请求#416是相关的:

添加不join DT[-J(...)]而不join DT[,-"colC",with=FALSE]