使用rpy2将.R文件中的源代码导入python

时间:2014-08-22 00:51:57

标签: python r rpy2

在rpy 1.x中,要获取.R文件,所有人必须做的就是:

import rpy 
rpy.r.source("filename.R")

在rpy2中,为了从Python中获取.R文件需要发生什么?

我尝试了几种途径,例如:

import rpy2.robjects as ro
ro.source("filename.R")

返回这样的错误(抱歉,如果格式不正确):

File "C:\Python27\lib\site-packages\rpy2\robjects\functions.py", line 166, in __call__
return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
File "C:\Python27\lib\site-packages\rpy2\robjects\functions.py", line 99, in __call__
res = super(Function, self).__call__(*new_args, **new_kwargs)
RRuntimeError: Error in file(filename, "r", encoding = encoding) : 
cannot open the connection

提前致谢...

1 个答案:

答案 0 :(得分:3)

您应该能够run arbitrary R code rpy2.robjects.r()(或.R(),不要认为存在差异):

import rpy2.robjects as ro

ro.r("""source('filename.R')""")

我首先在RStudio(或您首选的替代方案)中首先测试filename.R,只是为了确保它是一个有效的文件,并且可以毫无问题地获取。