我有一个包含 1000 万条记录的数据。我有一个 R 代码,需要使用 3000 次迭代来估计模型的系数。在此数据上运行 R 代码非常耗时,有时我的系统会挂起。我正在使用带有 4 GB 内存的 Windows 8.1-64 位版本。 为了减少时间,我想将 R 与 Python 集成。虽然我对 R 有一定的了解,但我对 Python 完全陌生。我发现 rpy2 可用于从 python 调用 R(我有 python 版本 3.4.1)。 我做了以下事情:
导入 rpy2
将 rpy2.robjects 导入为机器人
但是是给出了以下错误:
追溯(最近的调用最后): 文件“C:\Python34\lib\site-packages\rpy2\rinterface__init__.py”,第 29 行,位于 0, win32con.KEY_QUERY_VALUE ) pywintypes.error: (2, 'RegOpenKeyEx', '系统找不到指定的文件。')
在处理上述异常的过程中,又发生了一个异常:
追溯(最近的调用最后): 文件“”,第 1 行,位于 将 rpy2.robjects 导入为 robjects 文件“C:\Python34\lib\site-packages\rpy2\robjects__init__.py”,第 15 行,位于 将 rpy2.rinterface 导入为 rinterface 文件“C:\Python34\lib\site-packages\rpy2\rinterface__init__.py”,第 32 行,位于 除了导入错误(即): NameError: 名称 'ie' 未定义
我不明白为什么会出现错误。如何克服错误。
但是,如果我执行以下操作,它会起作用:
从 rpy2 导入 *
如果有人详细解释如何从 Python 调用 R 并为我的问题提供解决方案,那将非常有帮助。 关于如何用更少的时间在 R 中运行大数据的任何其他解决方案也将受到赞赏。 提前致谢!
最佳答案
我遇到了类似的问题,因为我的环境设置不正确,import win32api
会引发 ImportError: DLL load failed: The specified module could not be found
.通过将包含我的 python.exe
的文件夹添加到我的 PATH
来修复它。
请注意,异常 NameError: name 'ie' is not defined
是 rpy2 中的一个错误,它隐藏了实际的异常,由未能导入 win32api
或win32con
.
但是之后我遇到了另一个异常(RuntimeError: R_HOME not defined
),所以我最终添加了一个R_HOME
变量(= C:\Program Files\R\R-3.1.2
) 正如另一个答案中所建议的那样(我也有 Unable to unlink tempfile
警告,我想这还没有修复,见 rpy2 windows Unable to unlink tempfile 和https://bitbucket.org/lgautier/rpy2/issue/132/rpy2-windows-unable-to-unlink-tempfile)
关于python - 导入 rpy2.robjects 给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25073584/