我需要使用Python执行各种任务:灵敏度分析,优化和模拟启动。然而,模拟结果的第一次后处理依赖于R和存储在Rdata中的庞大数据库(8 Gb,其中一些数据表表示高达3 Gb)。所以我需要迭代R脚本的调用而不需要迭代数据加载(这需要几分钟)。我首先尝试使用pyRserve,但我面临的内存限制似乎比使用原始R更具限制性。
使用:
import pyRserve
conn = pyRserve.connect()
conn.r.load('.Rdata')
我收到以下错误:
REvalError: Error: cannot allocate vector of size 640.3 Mb
所以:
1 /有没有办法为Rserve分配更多内存(通常是原始R中分配的数量,即我的配置为16 Gb)?
2 /是否可以替代Rserve,以便一劳永逸地加载Rdata,然后在同一个工作区内运行R脚本?
答案 0 :(得分:0)
以下作品完美无缺。
memory_limit = getattr(conn.r, 'memory.limit')
memory_limit(16287.0)