Manuel A. Rivas wrote:
> 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?

The ".r[" bit is (quite less accurately than ".rx(" in 2.1-dev) 
mirroring R's '[" operator.
".r[<foo>][0]" corresponds to R's "[[" (and "$" when one element in <foo>).

model.r['m'] returns a list (of length 1)
model.r['m'][0] returns the one item in the list above.
model.r['m'][0]['fitted'] returns a list of length 1... and so on.


L.



> 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