web-dev-qa-db-ja.com

data.tableから1つの列を除外する方法OR MTSへのdata.tableへの変換

_data.table_を使用する場合、_data.frame_のように、1つを除くすべての列を返すことができますか?

答えがいいえの場合、複数の時系列_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)なしでどうすればいいですか?

48
geneorama

_with=FALSE_を試してください:

_dt[,-1,with=FALSE]
_

余談ですが、機能リクエスト#416は関連しています:

not joinDT[-J(...)]、およびnot columns_DT[,-"colC",with=FALSE]_。 を追加=

59
Matt Dowle