Hi Oliver, yes this helps very much... anyway, this works with array or also with matrix?
I ask this because I have a matrix 50x50, and if I do: mymatrixNump = numpy.matrix(mymatrix) mymatrixR = ro.conversion.py2ri(mymatrixNump) I have: --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) /Users/ogabbrie/Desktop/NetworkSimulatorTraits/<ipython console> in <module>() /Library/Frameworks/Python.framework/Versions/4.1.30101/lib/python2.5/site-packages/rpy2/robjects/numpy2ri.pyc in numpy2ri(o) 33 # Array-of-PyObject is treated like a Python list: 34 elif o.dtype.kind == "O": ---> 35 res = ro.conversion.py2ri(list(o)) 36 # Record arrays map onto R data frames: 37 elif o.dtype.kind == "V": /Library/Frameworks/Python.framework/Versions/4.1.30101/lib/python2.5/site-packages/rpy2/robjects/numpy2ri.pyc in numpy2ri(o) 47 raise(ValueError("Unknown numpy array type.")) 48 else: ---> 49 res = ro.default_py2ri(o) 50 return res 51 /Library/Frameworks/Python.framework/Versions/4.1.30101/lib/python2.5/site-packages/rpy2/robjects/__init__.pyc in default_py2ri(o) 87 res = rinterface.SexpVector([o, ], rinterface.STRSXP) 88 elif isinstance(o, list): ---> 89 res = r.list(*[conversion.ri2py(conversion.py2ri(x)) for x in o]) 90 elif isinstance(o, complex): 91 res = rinterface.SexpVector([o, ], rinterface.CPLXSXP) RuntimeError: maximum recursion depth exceeded 2009/1/15 Oliver Tomic <oliver.to...@nofima.no>: > Hi Simone, > > maybe this helps: > > [code START] >>>> import numpy > >>>> a = [[1,2,3],[4,5,6]] > >>>> aa = numpy.array(a) > >>>> aa > array([[1, 2, 3], > [4, 5, 6]]) > >>>> import rpy2.robjects as ro > >>>> import rpy2.robjects.numpy2ri > >>>> aR = ro.conversion.py2ri(aa) > >>>> aR > <RArray - Python:0x014E7D00 / R:0x0211AF98> > >>>> print aR > [,1] [,2] [,3] > > [1,] 1 2 3 > > [2,] 4 5 6 > > [code END] > > > cheers > Oliver > > > > Laurent Gautier <lgaut...@gmail.com> wrote on 14.01.2009 23:11:28: > >> Simone Gabbriellini wrote: >> > I would like to know if there is something like r.assign('ROBJECT', >> > PYTHONOBJECT) in rpy2... >> >> http://rpy.sourceforge.net/rpy2/doc/html/robjects.html? >> highlight=assign#environments >> >> Or "assign" as you write above: >> r.assign("foo", 123) >> >> >> > I don't want to use R function to evaluate an object IN Python, I want >> > to assign a matrix made in python to an R object... >> > >> > simone >> > >> > 2009/1/14 Simone Gabbriellini <simone.gabbriell...@gmail.com>: >> >> [so sorry but I just answer your mail... I write to the list and you >> >> answer to ME and to the list in CC... I have to remember to answer to >> >> ALL to answer to the mailing list too... again, sorry for that, I >> >> didn't mean to offend you] >> >> >> >> and thanks for the help >> >> simone >> >> >> >> 2009/1/14 Laurent Gautier <lgaut...@gmail.com>: >> >>> [why getting off the list ???] >> >>> >> >>> Simone Gabbriellini wrote: >> >>>> please do you have an example? >> >>>> >> >>>> because when I read "That import alone is sufficient to switch an >> >>>> automatic conversion of numpy objects into rpy2 objects." I suppose >> >>>> that every numpy object is seen by R... >> >>> Automatic conversion of a numpy object: >> >>> >> >>> rlen = robjects.r['length'] >> >>> print(rlen(gladj)) >> >>> >> >>> >> >>> You are otherwise giving a *string* to be evaluated as R code >> >>> (and R not looking into the python namespace when trying resolvea >> >>> symbol). >> >>> More on evaluating strings here: >> >>> http://rpy.sourceforge.net/rpy2/doc/html/robjects.html? >> highlight=r_repr#strings-as-r-code >> >>> >> >>>> thank you, >> >>>> simone >> >>>> >> >>>> 2009/1/14 Laurent Gautier <lgaut...@gmail.com>: >> >>>>> Simone Gabbriellini wrote: >> >>>>>> yes, like that... >> >>>>>> >> >>>>>> but simply importing: >> >>>>>> >> >>>>>> Import rpy2.robjects.numpy2ri >> >>>>>> >> >>>>>> when I do: >> >>>>>> >> >>>>>> g1adj = numpy.array(g1adj) >> >>>>>> >> >>>>>> robjects.r('QAPset[1,,]<-g1adj') >> >>>>> R has no way to know your Python variable called "gladj" unless you >> >>>>> indicate >> >>>>> it. >> >>>>> >> >>>>> print(robjects.r('ls()')) >> >>>>> should confirm that there is no variable 'gladj' in your globalEnv. >> >>>>> >> >>>>> >> >>>>>> it says: >> >>>>>> >> >>>>>> Error in eval(expr, envir, enclos) : object "g1adj" not found... >> >>>>> The error message above is correct, I think. >> >>>>> >> >>>>>> while >> >>>>>> in the docs it says that: >> >>>>>> "That import alone is sufficient to switch an automatic conversion >> >>>>>> of >> >>>>>> numpy objects into rpy2 objects." >> >>>>>> >> >>>>>> should I do something else? >> >>>>>> >> >>>>>> thank you, >> >>>>>> simone >> >>>>>> >> >>>>>> 2009/1/14 Laurent Gautier <lgaut...@gmail.com>: >> >>>>>>> Something like this >> >>>>>>> >> >>>>>>> http://rpy.sourceforge.net/rpy2/doc/html/numpy.html?highlight=numpy >> >>>>>>> ? >> >>>>>>> >> >>>>>>> >> >>>>>>> >> >>>>>>> Simone Gabbriellini wrote: >> >>>>>>>> dear List, >> >>>>>>>> >> >>>>>>>> is it possible to pass a matrix I've built in python to R via >> >>>>>>>> rpy2? >> >>>>>>>> >> >>>>>>>> I'm sure I'm blind, but I cannot find example about how to >> pass object >> >>>>>>>> from python to r, while I see how to pass object from r to >> >>>>>>>> python... >> >>>>>>>> >> >>>>>>>> best regards, >> >>>>>>>> Simone Gabbriellini >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> >> ------------------------------------------------------------------------------ >> >>>>>>>> This SF.net email is sponsored by: >> >>>>>>>> SourcForge Community >> >>>>>>>> SourceForge wants to tell your story. >> >>>>>>>> http://p.sf.net/sfu/sf-spreadtheword >> >>>>>>>> _______________________________________________ >> >>>>>>>> rpy-list mailing list >> >>>>>>>> rpy-list@lists.sourceforge.net >> >>>>>>>> https://lists.sourceforge.net/lists/listinfo/rpy-list >> >>>>>> >> >>>>>> >> >> ------------------------------------------------------------------------------ >> >>>>>> This SF.net email is sponsored by: >> >>>>>> SourcForge Community >> >>>>>> SourceForge wants to tell your story. >> >>>>>> http://p.sf.net/sfu/sf-spreadtheword >> >>>>>> _______________________________________________ >> >>>>>> rpy-list mailing list >> >>>>>> rpy-list@lists.sourceforge.net >> >>>>>> https://lists.sourceforge.net/lists/listinfo/rpy-list >> >>> >> > >> > >> >> ------------------------------------------------------------------------------ >> > This SF.net email is sponsored by: >> > SourcForge Community >> > SourceForge wants to tell your story. >> > http://p.sf.net/sfu/sf-spreadtheword >> > _______________________________________________ >> > rpy-list mailing list >> > rpy-list@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/rpy-list >> >> >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by: >> SourcForge Community >> SourceForge wants to tell your story. >> http://p.sf.net/sfu/sf-spreadtheword >> _______________________________________________ >> rpy-list mailing list >> rpy-list@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/rpy-list > ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ rpy-list mailing list rpy-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rpy-list