我使用R 3.5.1开发Python 3.7。 当我从Python的R脚本调用函数时,它在原则上可以正常工作,但是最后它崩溃并显示输出:
rpy2.rinterface.RRuntimeError:错误:无法分配大小为1006.0 Mb的向量
我有16GB的RAM,在长时间的处理过程中,我检查了内存使用的波动,最大波动小于5GB。
为了使事情更加确定,我使用
跟踪了内存使用情况gc()
gcinfo(TRUE)
它会自动转储垃圾并跟踪R何时这样做。
此外,在R中,我得到以下内容,指示16k MB,这是我的所有默认RAM:
> memory.limit()
[1] 16244
最后,当我直接从R运行R脚本时,它运行良好,并且没有遇到内存问题。
这是rpy2的强大漏洞还是目前可以管理的其他漏洞?如果有人有任何建议,我们将竭诚为您服务。
操作系统:Windows 10,64位
答案 0 :(得分:0)
来自此thread:
这似乎是由于... R向量与Python数组之间难以协调的差异引起的。
我建议您执行以下操作作为解决方法:
考虑线程中提供的一种转换类型,例如:
from rpy2.robjects import conversion
df_R = conversion.converter.py2ri(df_pandas)
主持人注意:这可能是评论,但我无法发表评论