提问人:Christoph 提问时间:11/29/2017 更新时间:11/29/2017 访问量:403
data.table dplyr full_join等效修改就地
data.table dplyr full_join equivalent modify in place
问:
我最近发现了 data.table,我喜欢它就地修改值的能力,因为我通常使用大小约为 10-15GB 的数据集。
虽然我能够在修改到位的情况下进行左/右连接,但我找不到如何使用完整(外部)连接的解决方案(即从表 A 中获取所有值,从表 B 中获取所有值,并用 NA 填充缺失,如 dplyr::full_join)
我在这里找到了一个stackoverflow答案,显示了如何为左/右连接执行此操作:
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")]
我知道它可以用于full_join,但是我需要再次将结果分配给变量,这在我的情况下需要大量内存。我还在这里发现了另一种有趣的方法,但在这种情况下,我还需要创建一个新变量。merge(A, B, by.x = "a", by.y = "c", all = T)
任何帮助,非常感谢!
答: 暂无答案
评论