On 01/11/10 07:28, Denham Robert wrote: > I got caught out converting a 3d array in R to a numpy array. I did > something like: > > import numpy > import rpy2 > import rpy2.robjects as robjects > > marr = robjects.r.array(robjects.IntVector(range(54)),dim= > robjects.IntVector([9,2,3])) > marrpy = numpy.array(marr) > print marrpy.flatten() > print robjects.r['as.vector'](marr) > > Which clearly doesn't work (at least for me, using rpy2.1.7, R-10.0 on > 64bit suse linux).
Could you be more specific about "does not work" ? If you are after getting the same output for the two print calls, this is not happening because arrays are being stored "column-major" by R by while numpy has "row-major" as a default. Try: print marrpy.flatten('F') > The matrix version does work, eg > > mat = robjects.r.matrix(robjects.IntVector(range(54)),nrow=9) > matpy = numpy.array(mat) > print mat > print matpy > > I checked the documentation, and found examples for vectors and > matrices, but not for arrays, but also no warnings. So, I was just > wondering, is this supposed to work? If it is, a hint on why it doesn't > work for me would be good. If it isn't supposed to work, I was wondering > if it were possible to throw an error or something. It is supposed to work, but not claim about an absence of bugs is made. Best, Laurent > Regards, > Robert > > > > Robert Denham > Environmental Statistician, Remote Sensing Centre > Environment and Resource Sciences > Phone 07 3896 9899 (ext 69899) > Email: robert.den...@derm.qld.gov.au > www.derm.qld.gov.au<http://www.derm.qld.gov.au/> > > Department of Environment and Resource Management > QCCE Building, 80 Meiers Rd, Indooroopilly QLD 4068 > > > +----------------------------------------------------------------+ > Think B4U Print > 1 ream of paper = 6% of a tree and 5.4kg CO2 in the atmosphere > 3 sheets of A4 paper = 1 litre of water > +----------------------------------------------------------------+ > > > ------------------------------------------------------------------------------ > Nokia and AT&T present the 2010 Calling All Innovators-North America contest > Create new apps& games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokia-dev2dev > _______________________________________________ > rpy-list mailing list > rpy-list@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rpy-list ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ rpy-list mailing list rpy-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rpy-list