导入rpy2.robjects会出错

时间:2014-08-01 05:45:27

标签: python r python-3.x bigdata

我有一个包含1000万条记录的数据。我有一个R代码,需要使用3000次迭代估计模型的系数。在这些数据上运行R代码非常耗时,有时我的系统会挂起。我使用Windows 8.1-64位版本与4 GB RAM。 为了减少时间,我想将R与Python集成。虽然我对R有一定的知识,但我在Python中是全新的。我发现rpy2可以用来从python调用R(我有python版本3.4.1)。 我做了以下事情:

导入rpy2

将rpy2.robjects导入为robjects

但是会出现以下错误:

追踪(最近一次通话):   文件“C:\ Python34 \ lib \ site-packages \ rpy2 \ rinterface__init __。py”,第29行,in     0,win32con.KEY_QUERY_VALUE) pywintypes.error:(2,'RegOpenKeyEx','系统找不到指定的文件。')

在处理上述异常期间,发生了另一个异常:

追踪(最近一次通话):   文件“”,第1行,in     将rpy2.robjects导入为robjects   文件“C:\ Python34 \ lib \ site-packages \ rpy2 \ robjects__init __。py”,第15行,in     将rpy2.rinterface导入为rinterface   文件“C:\ Python34 \ lib \ site-packages \ rpy2 \ rinterface__init __。py”,第32行,in     除了ImportError(即): NameError:名称'ie'未定义

我无法理解为什么我会收到错误。如何克服错误。

但是,如果我这样做,它的工作:

来自rpy2 import *

如果有人解释如何精心调用Python中的R并为我的问题提供解决方案,将会非常有帮助。 关于如何以较短的时间在R中运行大数据的任何其他解决方案也将受到赞赏。 提前谢谢!

2 个答案:

答案 0 :(得分:1)

使用Python 2.7和R3.1.1

进入Win7 x64中运行的完全相同的问题

1)安装pywin32:http://sourceforge.net/projects/pywin32/
2)添加环境变量R_HOME:[R的路径,而不是/Rx.x/bin]

我仍然遇到问题"无法取消链接临时文件"在导入时,但我能够完成这里概述的一些演示:http://rpy.sourceforge.net/rpy2/doc-dev/html/introduction.html

答案 1 :(得分:1)

由于我的环境未正确设置且import win32api会引发ImportError: DLL load failed: The specified module could not be found,我遇到了类似的问题。通过向我的PATH添加包含我的python.exe

的文件夹来修复它

请注意,异常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