Solve:

I wrote the buzz function to buzz.R

And now I have:

from rpy2.robjects.packages import SignatureTranslatedAnonymousPackage as
STAP
with open("buzz.R","r") as f:
   string = '''.join(f.readlines())
buzz = STAP(string,"buzz")
buzz.buzz(3)

And all is well!

Thanks,
Erin





On Wed, Oct 30, 2013 at 11:05 AM, Erin Hodgess <erinm.hodgess@gmail.com>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 <collinl@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.hodgess@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.hodgess@gmail.com
>



-- 
Erin Hodgess
Associate Professor
Department of Computer and Mathematical Sciences
University of Houston - Downtown
mailto: erinm.hodgess@gmail.com

	[[alternative HTML version deleted]]

