我有一个包含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中运行大数据的任何其他解决方案也将受到赞赏。 提前谢谢!
答案 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中的一个错误,它隐藏了由于无法导入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)