0

我需要使用 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 脚本?

4

1 回答 1

0

以下工作完美。

memory_limit = getattr(conn.r, 'memory.limit')
memory_limit(16287.0)
于 2015-05-26T09:33:47.387 回答