【发布时间】:2017-04-30 04:35:19
【问题描述】:
我注意到 data.frame 和 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
有什么特殊原因吗?
谢谢
【问题讨论】:
-
不,只是处理方式不同
-
除了欺骗链接,这里还有更多讨论:stackoverflow.com/questions/16239153/…
-
哦,谢谢。抱歉重复了。
标签: r data.table subset na