我有一个包含1000万条记录的数据 . 我有一个R代码,需要使用3000次迭代估计模型的系数 . 在这些数据上运行R代码非常耗时,有时我的系统会挂起 . 我使用Windows 8.1-64位版本与4 GB RAM . 为了减少时间,我想将R与Python集成 . 虽然我对R有一定的知识,但我在Python中是全新的 . 我发现rpy2可以用来从python调用R(我有python版本3.4.1) . 我做了以下事情:
import rpy2
将rpy2.robjects导入为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行,在import rpy2.rinterface中作为rinterface文件“C:\ Python34 \ lib \ site-packages \ rpy2 \ rinterface__init __ . py”,第32行,除了ImportError(ie):NameError:name'ie'未定义
我无法理解为什么我会收到错误 . 如何克服错误 .
但是,如果我执行以下操作,它的工作原理是:
来自rpy2 import *
如果有人解释如何精心调用Python中的R并为我的问题提供解决方案,将会非常有帮助 . 关于如何以较短的时间在R中运行大数据的任何其他解决方案也将受到赞赏 . 提前致谢!
2 回答
与使用Python 2.7和R3.1.1在Win7 x64中运行完全相同的问题
1)安装pywin32:http://sourceforge.net/projects/pywin32/
2)添加环境变量R_HOME:[R的路径,而不是/Rx.x/bin]
我在导入时仍然遇到"Unable to unlink tempfile"的问题,但我能够完成这里概述的一些演示:http://rpy.sourceforge.net/rpy2/doc-dev/html/introduction.html
我有一个类似的问题,因为我的环境没有正确设置,
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)