4

の colname に対応する data.tablemy.data.tableと文字ベクトルi(長さ 1) がありmy.data.tableます。を使用して、 の対応する列をクラスまたはではないベクトルとしてi抽出したいと思います。my.data.tabledata.tabledata.frame

どうすればいいですか?

> my.data.table <- data.table(a=1:2,b=2:3)
> i <- "a"
> class(my.data.table[,i,with=FALSE])
[1] "data.table" "data.frame"
> as.vector(my.data.table[,i,with=FALSE])  ##does not work
   a
1: 1
2: 2
> is.vector(as.vector(my.data.table[,i,with=FALSE])) ##strange behavior
[1] FALSE
> 

with=FALSEand eval(i, <env>)inを使用してこれを行う方法があると思いますが、わかりjません。

4

1 に答える 1

6

あなたの例ではこれらのいずれかが機能しますが、2 つ目の方がより一般的に役立ちます。

my.data.table[[i]]
# [1] 1 2
my.data.table[,..i][[1L]]
# [1] 1 2

..indata.tableは「1 つのレベルを検索する」ことを意味します (この場合は変数i)

于 2012-12-10T23:56:13.417 に答える