【问题标题】:data.table - join NA keys [duplicate]data.table - 加入 NA 键 [重复]
【发布时间】:2012-11-23 00:42:27
【问题描述】:

可能重复:
Select NA in a data.table in R

只是想知道这是预期的功能还是 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 获得的行为。

谢谢

【问题讨论】:

    标签: r data.table


    【解决方案1】:

    FR#1043 Allow or disallow NA in keys?.

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

    查看重复的问题和答案Select NA in a data.table in R以获得更详细的描述

    【讨论】:

    • 谢谢,但我仍然不明白它是如何在连接中获得应该为 NA 的值(即 bb 列)?我认为这种方式会导致一些非常意想不到的结果。
    猜你喜欢
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 2023-01-12
    相关资源
    最近更新 更多