我已经问过这个问题,但没有得到任何好的答案。如果我加入两个包含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
有趣的是,没有一个是你期望得到的输出。