R合并帮助-无法分配大小为215.2 Mb的向量

R合并帮助-无法分配大小为215.2 Mb的向量,r,memory,merge,R,Memory,Merge,我收到的信息是: cannot allocate vector of size 215.2 Mb 215.2对我来说似乎没有那么大,特别是当我看到的例子是在10GB的同温层时 以下是我试图实现的目标: Combined<-merge(x=SubjectsYOY,y=o2017,by="subjectkey",all.x=TRUE) 尾端内容如下: 所以我做了一些实验,研究了记忆极限 memory.limit() 它会自动设置为32676 现在,我用以下内容对其进行了更改: memor

我收到的信息是:

cannot allocate vector of size 215.2 Mb
215.2对我来说似乎没有那么大,特别是当我看到的例子是在10GB的同温层时

以下是我试图实现的目标:

Combined<-merge(x=SubjectsYOY,y=o2017,by="subjectkey",all.x=TRUE)
尾端内容如下:

所以我做了一些实验,研究了记忆极限

memory.limit()
它会自动设置为32676

现在,我用以下内容对其进行了更改:

memory.limit(326760+10000)
我的第一次大合并成功了

现在我还有3次合并。下一个是o2018,它又有94个独特的新列,需要添加到之前创建的内容中:16+94和现在的+94列。太多了

因此,我再次尝试更改内存限制,但对内存管理没有太多了解:

memory.limit(32676000+10000)
注意这里的两个额外的零。但现在我又得到了同样的原始错误

有人认为将这些多个合并合并为一个会有所帮助吗?代码是什么?这是最好的代码还是我应该尝试模拟SQL运行或其他什么?不管这需要发生什么


再次感谢你

我曾经遇到过类似的情况,这是由于将文本合并到因素中造成的。我通过将因素转化为角色来解决它

你能提供一些关于你的数据的见解吗?一个最小的可复制的例子总是非常有用的。这是一个大量的列在这里复制。为了你和社区其他人的利益,有没有关于如何做到这一点的建议?它是字符串字段、整数和一些浮点数的广泛组合。谢谢。请尝试将R更新到最新版本3.5.1?另外,您是否使用每个表中的一个子集(比如100行)尝试过该操作?如果操作成功使用了一个子集,则表示这不是语法或类型匹配问题,而只是内存问题。您可以使用
data.table
尝试连接,这可能会更节省内存(但我不确定)。否则,您可能需要启动AWS EC2实例或其他具有更多RAM的实例。您还可以运行
gc()
来释放未使用的内存。另外,您的两个对象在内存中有多大?有没有可能仅仅加载这两个文件就已经耗尽了内存?所以我取得了一些进展,但我再次陷入停滞。请看我上面帖子的结尾,看看我做了什么,以及它在哪里再次爆发。
memory.limit(32676000+10000)