I don't believe that rpy2 will load a saved workspace. When I have worked with this I always load my functions by sourcing an r file separately:
R.r['source'](MyFuncs.r) Best, Collin. On Wed, 30 Oct 2013, Erin Hodgess wrote: > Here we go: > > > buzz > function(x) { > y <- x + pi > return(y) > } > > q() > Save workspace image? [y/n/c]: python > Save workspace image? [y/n/c]: y > root@erinminfo [/home/erinminf/public_html]# python > Python 2.7.5 (default, Sep 11 2013, 02:14:06) > [GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import rpy2.robjects as R > >>> R.r.buzz(3) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/usr/local/lib/python2.7/site-packages/rpy2/robjects/__init__.py", > line 213, in __getattribute__ > raise orig_ae > AttributeError: 'R' object has no attribute 'buzz' > >>> R.r['buzz'](3) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/usr/local/lib/python2.7/site-packages/rpy2/robjects/__init__.py", > line 216, in __getitem__ > res = _globalenv.get(item) > LookupError: 'buzz' not found > >>> > root@erinminfo [/home/erinminf/public_html]# > > > On Wed, Oct 30, 2013 at 10:16 AM, Collin Lynch <coll...@cs.pitt.edu> wrote: > > > Erin, one question, can you access the defined functions by key? > > > > In lieu of: > > > x = R.r.buzz(3) > > > > Can you do: > > x = R.r['buzz'](3) > > > > > > Alternatively if you need only one or two custom functions have you > > considered just defining them via python as in: > > > > PStr = """ > > function(LM) { > > S <- summary(LM); > > print(S$fstatistic); > > F <- S$fstatistic; > > P <- pf(F[1], F[2], F[3], lower=FALSE); > > return(P); > > } > > """ > > r_LMPValFunc = robjects.r(PStr) > > > > Best, > > Collin. > > > > > > On Tue, 29 Oct 2013, Erin Hodgess wrote: > > > > > Hello again! > > > > > > I'm using python with a module rpy2 to call functions from R. > > > > > > It works fine on built in R functions like rnorm. > > > > > > However, I would like to access user-defined functions as well. For > > those > > > of you who use this, I have: > > > > > > import rpy2.robjects as R > > > R object as no attribute buzz > > > > > > (user defined function of buzz) > > > > > > This is on a Centos 5 machine with R-3.0.2 and python of 2.7.5. > > > > > > Thanks for any help. > > > Sincerely, > > > Erin > > > > > > > > > > > > -- > > > Erin Hodgess > > > Associate Professor > > > Department of Computer and Mathematical Sciences > > > University of Houston - Downtown > > > mailto: erinm.hodg...@gmail.com > > > > > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > > R-help@r-project.org mailing list > > > https://stat.ethz.ch/mailman/listinfo/r-help > > > PLEASE do read the posting guide > > http://www.R-project.org/posting-guide.html > > > and provide commented, minimal, self-contained, reproducible code. > > > > > > > > > > -- > Erin Hodgess > Associate Professor > Department of Computer and Mathematical Sciences > University of Houston - Downtown > mailto: erinm.hodg...@gmail.com > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.