逐步left_join / merge

时间:2019-02-04 13:32:38

标签: r dplyr

我有一个250k观测值的主df,我想向其中添加一组变量,由于left_join / merge-function的限制,我不得不在较小的dfs中进行计算(每个5k的5个不同的dfs)行大小(2 ^ 31-1个观察值)。

我现在正尝试使用主df上的left_join或merge-function和5个较小的函数将新变量的列添加到主df中,以便每一步进行50k观测。

mainFrame <- left_join(mainFrame, newVariablesFirstSubsample)
mainFrame <- left_join(mainFrame, newVariablesSecondSubsample)
mainFrame <- left_join(mainFrame, newVariablesThirdSubsample)
mainFrame <- left_join(mainFrame, newVariablesFourthSubsample)
mainFrame <- left_join(mainFrame, newVariablesFifthSubsample)

在第一个left_join(包括前50k个观察值的新变量的值)之后,当我运行第二个到第五个left_joins时,R似乎不包括以下50k组观察值。我从在每个left_join之后为各个列建立摘要统计信息得出这一结论。

对我做错了什么或可能使用的其他功能有任何想法吗?

1 个答案:

答案 0 :(得分:0)

数据表允许您创建“键”,这些键是R的SQL索引版本。这将帮助您加快对R用于合并或左连接的列的搜索。

如果我是您,我只是将它们全部导出到csv文件中,然后从SQL或使用SSIS服务进行处理。

我要注意的问题是您正在从摘要统计信息中发现错误。您是否尝试过反转插入表的顺序。还是明确说明左连接中使用的列的名称?

请让我们知道结果。

相关问题