2

可能重复:
在 R 的 data.table 中选择 NA

只是想知道这是 data.table 中的预期功能还是错误?

a = data.frame(a=c(NA,1),aa=c(0,11))
b = data.frame(a=c(1),bb=c(11))
merge(a,b,all.x=T,by="a")
   a aa bb
1  1 11 11
2 NA  0 NA

a = data.table(a=c(NA,1),aa=c(0,11))
b = data.table(a=c(1),bb=c(11))
merge(a,b,all.x=T,by="a")
    a aa bb
1: NA  0 11
2:  1 11 11

同样的方式

setkey(b,a)
b[a]
    a bb aa
1: NA 11  0
2:  1 11 11

我真的希望您在这种情况下使用 data.frame 获得的行为。

谢谢

4

1 回答 1

4

请参阅 FR#1043 Allow or disallow NA in keys?。.

这是一个已知问题,NA允许使用值,但您不能加入它们。

有关更详细的描述,请参阅R 中的 data.table 中的重复问题和答案Select NA

于 2012-11-23T02:56:38.267 回答