Calling Custom functions from Python using rpy2

python, r, rpy2

Solution

There are features in rpy2 that should help making this cleaner than dumping objects into the global workspace.

from rpy2.robjects.packages import STAP
# if rpy2 < 2.6.1 do:
# from rpy2.robjects.packages import SignatureTranslatedAnonymousPackage
# STAP = SignatureTranslatedAnonymousPackage
with open('myfunc.r', 'r') as f:
    string = f.read()
myfunc = STAP(string, "myfunc")

The objects in the R file can now be accessed with `myfunc.myfunc` and `myfunc.getname`.

Check the documention about importing arbitrary R code as a package.

Problem

Is there a way to call functions defined in a file say myfunc.r ``` ---------------myfunc.r -------------- myfunc = function(){ return(c(1,2,3,4,5,6,7,8,9,10)) } getname = function(){ return("chart title") } ---- Python How to call getname() here ? ``` Any help would be greatly appreciated ?

Original source