hello laurent,

yep. it seems to work fine when fitted would be the first level.

However,
in R
it would be something of this nature when the data i want to extract  
is two levels down:

model$m$fitted()

i'd figure two level down it would be something like model.r['m'] 
['fitted'][0]

however, that doesnt seem to work?

thanks again,

manuel



On Aug 5, 2009, at 2:42 PM, Laurent Gautier wrote:

> Manuel A. Rivas wrote:
>> Thanks Laurent, I've decided to change to rpy2 instead and use that  
>> framework: A few questions I have : I am able to create a model  
>> using nls or lm say model = robjects.r.nls("y~a*x^3 + b*x^2 + c*x +  
>> d",start = robjects.r.list(a = 0, b = 0, c = 0, d = 0))
>> it succesfully creates the model . Now, in rpy I would extract the  
>> $coefficients , $fitted from nls
>> by
>> pointing to the model as a dictionary
>> list(r.print_(model['m']['fitted'])()) would return a list of the  
>> fitted points
>> now in rpy2 i successfully get to point to 'm' by returning  
>> model.r['m'] which returns a vector
>> however, i am having difficulty getting to $fitted under $m and  
>> printing the results.
>
> with rpy2-2.0.x the robjects high-level interface is a little rough:
> model.r['fitted'][0]
> (see http://rpy.sourceforge.net/rpy2/doc/html/introduction.html#linear-models 
>  )
>
>
> with rpy2-2.1.x this is is getting (likely) better:
>
> model.rx2('fitted')
> (see 
> http://rpy.sourceforge.net/rpy2/doc-dev/html/robjects.html#extracting-elements
> )
>
> An other delegator ".rxd" ("R extract dollar") should complement  
> ".rx" ("R extract [") and ".rx2" ("[[") in the future.
>
>
>
> L.
>
>
>
>
>> any ideas would be appreciated. thanks,
>> manuel On Aug 5, 2009, at 12:12 PM, Laurent Gautier wrote:
>>> Are you using rpy2-2.1dev ?
>>>
>>> If so, there were issues and you will want a (very) fresh update  
>>> of the code on the bitbucket repository.
>>>
>>>
>>> L.
>>>
>>>
>>> Manuel A. Rivas wrote:
>>>> Thanks Laurent,
>>>> Were you able to succesfully create the lm ?
>>>> I get the following error with NO_CONVERSION:
>>>> >>> rpy.r.lm(rpy.r("y ~ x"), data = rpy.r.data_frame(x=my_x,  
>>>> y=my_y))
>>>> Traceback (most recent call last):
>>>> File "<stdin>", line 1, in <module>
>>>> File "/home/radon00/rivas/lib/python/rpy2/rpy_classic.py", line  
>>>> 265, in __call__
>>>>   return self.eval(self.parse(text=s))
>>>> File "/home/radon00/rivas/lib/python/rpy2/rpy_classic.py", line  
>>>> 199, in __call__
>>>>   a = a.getSexp()
>>>> AttributeError: 'Robj' object has no attribute 'getSexp'
>>>> thanks,
>>>> manuel
>>>> On Aug 5, 2009, at 11:17 AM, Laurent Gautier wrote:
>>>>> Manuel A. Rivas wrote:
>>>>>> Hello , I am trying to use the r.nls function from rpy2 in the  
>>>>>> same fashion as rpy by importing  rpy_classic. In R: the syntax  
>>>>>> y ~ x would tell the lm function that y depends on x as its  
>>>>>> model. In python using rpy I would use rpy's "evaluate a  
>>>>>> string" functionality. i.e.
>>>>>>> >>> from rpy import r
>>>>>>> >>> my_x = [5.05, 6.75, 3.21, 2.66]
>>>>>>> >>> my_y = [1.65, 26.5, -5.93, 7.96]
>>>>>>> >>> print r.lm(r("y ~ x"), data = r.data_frame(x=my_x, y=my_y)) 
>>>>>>> ['coefficients']
>>>>>> as described in the man pages: However, if I do the same with  
>>>>>> rpy2
>>>>>> >>> from rpy2.rpy_classic import r
>>>>>> >>> my_x = [5.05, 6.75, 3.21, 2.66]
>>>>>> >>> my_y = [1.65, 26.5, -5.93, 7.96]
>>>>>> >>> r.lm(r("y ~ x"), data = r.data_frame(x=my_x, y=my_y))
>>>>>> I get the following error: Traceback (most recent call last):
>>>>>> File "<stdin>", line 1, in <module>
>>>>>> File "/home/radon00/rivas/lib/python/rpy2/rpy_classic.py", line  
>>>>>> 265, in __call__
>>>>>>  return self.eval(self.parse(text=s))
>>>>>> File "/home/radon00/rivas/lib/python/rpy2/rpy_classic.py", line  
>>>>>> 215, in __call__
>>>>>>  res = rpy2py(res)
>>>>>> File "/home/radon00/rivas/lib/python/rpy2/rpy_classic.py", line  
>>>>>> 174, in rpy2py
>>>>>>  res = rpy2py_basic(obj)
>>>>>> File "/home/radon00/rivas/lib/python/rpy2/rpy_classic.py", line  
>>>>>> 160, in rpy2py_basic
>>>>>>  raise ValueError("Invalid type for 'obj'.")
>>>>>> ValueError: Invalid type for 'obj'.
>>>>>> any ideas how to do the same operation in rpy2 with rpy_classic?
>>>>>
>>>>> Try adding this to the beginning:
>>>>>
>>>>> import rpy2.rpy_classic as rpy
>>>>> rpy.set_default_mode(rpy.NO_CONVERSION)
>>>>>
>>>>>
>>>>> (rpy_classic is way behind the rest of rpy2 because of limited  
>>>>> time on my end, and seemingly limited interest/contributions  
>>>>> from users in having it improved to a full compatibility).
>>>>>
>>>>>
>>>>>
>>>>> L.
>>>>>
>>>>>
>>>>>> thanks,
>>>>>> Manuel Rivas
>>>>>> ------------------------------------------------------------------------
>>>>>> ------------------------------------------------------------------------------
>>>>>> Let Crystal Reports handle the reporting - Free Crystal Reports  
>>>>>> 2008 30-Day trial. Simplify your report design, integration and  
>>>>>> deployment - and focus on what you do best, core application  
>>>>>> coding. Discover what's new with Crystal Reports now.  
>>>>>> http://p.sf.net/sfu/bobj-july
>>>>>> ------------------------------------------------------------------------
>>>>>> _______________________________________________
>>>>>> rpy-list mailing list
>>>>>> rpy-list@lists.sourceforge.net <mailto:rpy-list@lists.sourceforge.net 
>>>>>> >
>>>>>> https://lists.sourceforge.net/lists/listinfo/rpy-list
>>>>>
>>>
>


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
rpy-list mailing list
rpy-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rpy-list

Reply via email to