可能重复:
data.table - 加入 NA 键
我已经问过这个问题,但没有得到任何好的答案。如果我加入两个包含 NA 键的 data.tables,我会得到一些意想不到的东西。
a = data.table(a=c(NA,1,11,NA,NA),aa=c(0,11,333,3,5))
b = data.table(a=c(NA,1,33,2),bb=c(11,NA,100,3))
merge(a,b,by="a",all.x=T)
a aa bb
1: NA 0 NA
2: NA 3 3
3: NA 5 3
4: 1 11 NA
5: 11 333 NA
这应该是相同的
merge(b,a,by="a",all.y=T)
a bb aa
1: NA 11 5
2: NA NA 0
3: NA NA 3
4: 1 NA 11
5: 11 NA 333
有趣的是,它们都不是您期望得到的输出。