在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提前致谢...
In rpy 1.x, to source in a .R file, all one had to do was this:
import rpy rpy.r.source("filename.R")
In rpy2, what needs to happen in order to source in a .R file from Python?
I have tried several avenues, such as this:
import rpy2.robjects as ro ro.source("filename.R")
Returns an error like this (sorry if this doesn't format correctly):
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 connectionThanks in advance...
最满意答案
您应该能够使用rpy2.robjects.r() (或.R() 运行任意R代码 ,不要认为存在差异):
import rpy2.robjects as ro ro.r("""source('filename.R')""")我首先在RStudio(或您首选的替代方案)中测试filename.R ,只是为了确保它是一个有效的文件,并且可以没有问题地获取。
You should be able to run arbitrary R code with rpy2.robjects.r() (or .R(), don't think there's a difference):
import rpy2.robjects as ro ro.r("""source('filename.R')""")I'd test filename.R first in RStudio (or your preferred alternative) first, just to make sure it's a valid file and can be sourced without issues.
更多推荐
发布评论