NA値に関しては、data.frame
とdata.table
ローサブセット化が異なることに気付きました。結果とR data.table行サブセット動作 - NA値
DF <- data.frame(COL1 = c(1, 2, NA))
DF[DF$COL1 == 1, ]
DF[DF$COL1 != 1, ]
DT <- data.table::data.table(COL1 = c(1, 2, NA))
DT[COL1 == 1, ]
DT[COL1 != 1, ]
コード:
クリーンコード
> DF <- data.frame(COL1 = c(1, 2, NA))
> DF[DF$COL1 == 1, ]
[1] 1 NA
> DF[DF$COL1 != 1, ]
[1] 2 NA
> DT <- data.table::data.table(COL1 = c(1, 2, NA))
> DT[COL1 == 1, ]
COL1
1: 1
> DT[COL1 != 1, ]
COL1
1: 2
は、そのための特別な理由がありますか? i
の議論の下にヘルプファイル、?data.table
から
おかげ
いいえ、それを扱う異なる方法 –
デュープリンクの他に、ここでさらに議論があります:http://stackoverflow.com/questions/16239153/dtx-and-dtx-treat-na-in-x -inconsistently – Frank
ああ、ありがとう。重複して申し訳ありません。 –