python - 导入 rpy2.robjects 给出错误

标签 python r python-3.x bigdata

我有一个包含 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 中的一个错误,它隐藏了实际的异常,由未能导入 win32apiwin32con.

但是之后我遇到了另一个异常(RuntimeError: R_HOME not defined),所以我最终添加了一个R_HOME 变量(= C:\Program Files\R\R-3.1.2) 正如另一个答案中所建议的那样(我也有 Unable to unlink tempfile 警告,我想这还没有修复,见 rpy2 windows Unable to unlink tempfilehttps://bitbucket.org/lgautier/rpy2/issue/132/rpy2-windows-unable-to-unlink-tempfile)

关于python - 导入 rpy2.robjects 给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25073584/

相关文章:

python - opencv错误文件无法打开读取cv::face::FaceRecognizer::read windows

python - 将 C++ 指针作为参数传递给 Cython 函数

python - 将 pcollection 的每一行拆分为多个 pcollection?

使用单独(顺序)Python 进程的 Python Nose 单元测试

python - Python 中日志记录抽象的标准?

r - persp3d 绘图的格式

r - 根据获取前一行的 if 条件将列分成两部分

r - 使用 mlr3-pipelines 在 GraphLearner 中估算数据并编码因子列?

python-3.x - 将 pandas to_excel 与 ExcelWriter 和 xlsxwriter 一起使用时如何更改数据帧输出的格式

python WSGI 与长时间运行的进程