我需要使用Python执行各种任务:灵敏度分析、优化和模拟启动。然而,模拟结果的第一次后处理依赖于存储在Rdata中的R和一个庞大的数据库(8GB,其中一些数据表代表3GB)。因此,我需要迭代R脚本的调用,而不需要迭代数据加载(这需要几分钟)。我第一次尝试使用pyRserve,但我面临的内存限制似乎比原始的R更严格。
通过以下方式:
import pyRserve
conn = pyRserve.connect()
conn.r.load('.Rdata')我得到以下错误:
REvalError: Error: cannot allocate vector of size 640.3 Mb所以:
1/是否有办法为Rserve分配更多的内存(通常是在raw R中分配的数量,即16 Gb的配置)?
2/是否有一种替代Rserve的方法,以便一劳永逸地加载Rdata,然后在同一个工作区中运行R脚本?
发布于 2015-05-26 09:33:47
以下是完美的工作方式。
memory_limit = getattr(conn.r, 'memory.limit')
memory_limit(16287.0)https://stackoverflow.com/questions/30454246
复制相似问题