data.table dplyr full_join等效修改

时间:2017-11-29 14:00:24

标签: r data.table pass-by-reference outer-join

我最近发现了data.table,我喜欢它能够修改值,因为我通常使用大小在10-15GB左右的数据集。

虽然我能够进行左/右连接并进行修改,但我无法找到一个解决方案如何使用完整(外部)连接(即获取表A中的所有值和表B中的所有值)和填充缺少NA,如dplyr :: full_join)

我找到了一个stackoverflow回答here,其中显示了如何为左/右连接执行此操作:

A <- data.table(a = 1:4, b = 12:15)
B <- data.table(c = 2:3, b = 13:14)

B[A, b.A:= i.b, on = c(c = "a")]

我知道可以使用merge(A, B, by.x = "a", by.y = "c", all = T)作为full_join,但是我需要再次将结果分配给变量,这在我的情况下需要大量内存。我还发现了另一种有趣的方法here,但在这种情况下我还需要创建一个新变量。

任何帮助都非常感谢!

0 个答案:

没有答案