2 つの数値行を持つテーブルがあり、そのうちの 1 つがキーに設定されています。数値キー値でサブセット化したいのdata.table
ですが、うまくいきません。文字に変換するとうまくいきます。
その理由を理解するのを手伝ってもらえますか? 私はdata.table 1.8.6を使用しています。
本当にありがとう。テストコードは次のとおりです。
> ID <-c(rep(210, 9), rep(3917,6))
> Count <- c(1,1,0,1,1,1,1,1,1,1,1,1,1,0,1)
> x <- data.table(ID, Count)
>
> # numeric key doesn't work with i argument
> setkey(ID)
[1] 210 210 210 210 210 210 210 210 210 3917 3917 3917 3917 3917 3917
> x[210,list(ID, Count)]
ID Count
1: NA NA
>
> # create character key
> x$charID <- as.character(x$ID)
> setkey(x, charID)
> x["210",list(ID, Count)]
charID ID Count
1: 210 210 1
2: 210 210 1
3: 210 210 0
4: 210 210 1
5: 210 210 1
6: 210 210 1
7: 210 210 1
8: 210 210 1
9: 210 210 1