Nick,
I think you can use *SignatureTranslatedFunction* to translate argument na.rm 
to na_rm.  I replicated your example as follows:

from rpy2.robjects.packages import importr
from rpy2.robjects.functions import SignatureTranslatedFunction

base = importr('base')

base.max = SignatureTranslatedFunction(base.max, init_prm_translate={'na_rm': 
'na.rm'})
data_series = robjects.IntVector( [1, 7, robjects.NA_Integer, 9, 2])
print(data_series)
[1]  1  7 NA  9  2

print(base.max(data_series, na_rm=True))
[1] 9

So it works
I'm new in RPy2, and i don't know some simple method to do this.

Peng Lian


At 2013-04-30 09:48:45,"Pavey, Nicholas" <npa...@akamai.com> wrote:

Hi Rpy2 users,


I'm having some difficulty passing the 'na.rm' parameter to the R 'max' 
function. I'm pretty new to rpy2, so I'm sure it's something obvious I'm 
missing.


I have referred to the documentation on this subject, here:


http://rpy.sourceforge.net/rpy2/doc-2.2/html/robjects_functions.html


I also tried searching the mailing list archive, but didn't come across an 
answer.




Here's my test source:


from rpy2 import robjects
from rpy2.robjects.packages import importr


data_series = robjects.IntVector( [1, 7, robjects.NA_Integer, 9, 2])


print data_series


# Note – I am using the underscore convention here, as 
# suggested in the rpy2 documentation.
val = robjects.r.max(data_series, na_rm = True)


print val


Additionally, I tried the 'base' approach described in the docs, with the same 
problem:


from rpy2 import robjects
from rpy2.robjects.packages import importr
base = importr('base')


data_series = robjects.IntVector( [1, 7, robjects.NA_Integer, 9, 2])


print data_series


val = base.max(data_series, na_rm = True)


print val




I'm always getting 'NA' as the result, regardless of whether I set 'na_rm' to 
True or False (or 1 or zero, too).


The 'max' function does work as expected without the 'NA' object in the data 
series.


Here are my version numbers:


OS : Ubuntu 10.04 LTS, Intel x86_64
Python version : 2.7.4
R version: 2.15.3
Rpy2 version : 2.3.5


By the way, I am constrained to use Python 2.7.x, rather than Python 3.


What am I doing wrong here?


Thanks for your help,




Nick









------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
rpy-list mailing list
rpy-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rpy-list

Reply via email to