Reputation: 1739
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 connection
Thanks in advance...
Upvotes: 3
Views: 2266
Reputation: 102852
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.
Upvotes: 3