是否可以使用 data.table 语法(如 X[Y])制作等效的 merge(..., all = TRUE) ?
具体来说,我需要一种非常快速的方法来获得以下结果:
item_length = data.table(index = 1:10, length = c(2,5,4,6,3),key ="index")
item_weigth = data.table(index = c(2,4,6,7,8,11), weight= c(.3,.5,.2), key = "index")
merge(x2,y2, all=TRUE)
这是:
> merge(item_length ,item_weigth , all=TRUE)
index length weight
[1,] 1 2 NA
[2,] 2 5 0.3
[3,] 3 4 NA
[4,] 4 6 0.5
[5,] 5 3 NA
[6,] 6 2 0.2
[7,] 7 5 0.3
[8,] 8 4 0.5
[9,] 9 6 NA
[10,] 10 3 NA
[11,] 11 NA 0.2