You are right, I was doing a bad conversion of the matrix to the numpy.array...
in fact the result of what you ask was: Out[56]: () now everything works because I do: mymatrixN = numpy.array(list(mymatrix)) and now if I run numpy.shape I have: Out[56]: (50,50) I got the hint from the author of the function I was using to produce the matrix... many thanks for the help, simone 2009/1/15 Oliver Tomic <oliver.to...@nofima.no>: > Looks like there is something wrong with your array. > > You said you matrix is a 50 x 50 matrix. What do you get when you try the > following? > > numpy.shape(mymatrixNARRAY) > > > Cheers > Oliver > > > "Simone Gabbriellini" <simone.gabbriell...@gmail.com> wrote on 15.01.2009 > 10:07:36: > >> mmmm... if I convert the matrix into array I have this new error: >> >> In [41]: mymatrixR = ro.conversion.py2ri(mymatrixNARRAY) >> >> --------------------------------------------------------------------------- >> TypeError 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": >> >> TypeError: iteration over a 0-d array >> >> >> I cannot solve it.. >> >> simone >> >> >> 2009/1/15 Oliver Tomic <oliver.to...@nofima.no>: >> > The conversion doesn't work for me with matrices either, but the output >> > is >> > different on my machine. >> > >> > This is what I get: >> > >> > [code START] >> >>>> import numpy >> > >> >>>> b = [[1,2,3],[4,5,6]] >> > >> >>>>bb = numpy.matrix(b) >> > >> >>>> bb >> > matrix([[1, 2, 3], >> > [4, 5, 6]]) >> > >> >>>> import rpy2.robjects as ro >> > >> >>>> import rpy2.robjects.numpy2ri >> > >> >>>> bR = ro.conversion.py2ri(bb) >> > >> >>>> bR >> > <RArray - Python:0x014E7D00 / R:0x0211AFB0> >> > >> >>>> print bR >> > [,1] [,2] [,3] >> > >> > [1,] NA NA NA >> > >> > [2,] NA NA NA >> > [code END] >> > >> > >> > If you convert the numpy matrix into an array prior to the >> > RPy2-conversion >> > it works fine. >> > aa = numpy.array(bb) >> > >> > cheers >> > Oliver >> > >> > >> > >> > "Simone Gabbriellini" <simone.gabbriell...@gmail.com> wrote on >> > 15.01.2009 >> > 09:51:30: >> > >> >> 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