Hi All, please aplogize me if my qustion is a bit OT here, but maybe is there someone that uses R from inside python using rpy or rpy2 interface.
i'm at my first experience using rpy2. i need to port torpy some R code .. but i'm having little problems i hope yopu can help me. The R code is : ################################################ grass65 R library(spgrass6) r=readRAST6("elevation.10m") r_sorted=sort(r...@data$elevation.10m,decreasing=T) p_seq=seq(1,length(r_sorted)) #area x=p_seq/length(r_sorted) x=(x-min(x))/(max(x)-min(x)) y=(r_sorted-min(r_sorted))/(max(r_sorted)-min(r_sorted)) result=data.frame(x,y) png("graphic.png") # oppure ("graphic.pdf") plot(result,type="l",x) plot(result,type="l", xlab="area", ylab="elevation") dev.off() ################################################ i tried to write it in python-rpy2 : ################################################ # import library (rpy2 + spgrass6) import rpy2.rinterface as rinterface import rpy2.robjects as robjects robjects.r.require('spgrass6', quietly = True)[0] # def some functions : rsort = robjects.r['sort'] rseq = robjects.r['seq'] rlength = robjects.r['length'] rdiv = robjects.r['/'] rmin = robjects.r['min'] rmax = robjects.r['max'] rdiff = robjects.r['-'] # read input file mymap = robjects.r.readRAST6(inputmap) elev = rsort('my...@data$inputmap', decreasing=True) r_sorted = rsort('my...@data$elevation.dem', decreasing=True) p_seq = rseq(1,rlength(r_sorted)) x = rdiv(p_seq,length(r_sorted)) x = rdiv( ( rdiff( x, rmin(x) ) ) , ( rdiff( rmax(x) , rmin(x) ) ) ) y = rdiv( ( rdiff( r_sorted, rmin(r_sorted) ) ) , ( rdiff( rmax(r_sorted) , rmin(r_sorted) ) ) ) .... errors ################################################ but maybe it is totally wrong... this the same code running in ipython. tring to run it i have : In [38]: import rpy2.rinterface as rinterface In [39]: import rpy2.robjects as robjects In [40]: robjects.r.require('spgrass6', quietly = True)[0] Out[40]: True In [41]: rsort = robjects.r['sort'] In [42]: rseq = robjects.r['seq'] In [43]: rlength = robjects.r['length'] In [44]: rdiv = robjects.r['/'] In [45]: rmin = robjects.r['min'] In [46]: rmax = robjects.r['max'] In [47]: rdiff = robjects.r['-'] In [48]: inputmap = 'elevation.dem' In [49]: mymap = robjects.r.readRAST6(inputmap) raster map/current region mismatch detected in components: cols rows origin.northing origin.easting FALSE FALSE FALSE FALSE set plugin=TRUE to override; continuing with plugin=FALSE /Users/sasha/Downloads/spearfish60/PERMANENT/.tmp/MacBook-Pro-15-di-Massimo-Di-Stefano.local/elevation.dem has GDAL driver GTiff and has 140 rows and 190 columns In [50]: elev = rsort('my...@data$inputmap', decreasing=True) In [51]: r_sorted = rsort('my...@data$elevation.dem', decreasing=True) In [52]: p_seq = rseq(1,rlength(r_sorted)) In [53]: x = rdiv(p_seq,length(r_sorted)) In [54]: x = rdiv( ( rdiff( x, rmin(x) ) ) , ( rdiff( rmax(x) , rmin(x) ) ) ) In [55]: y = rdiv( ( rdiff( r_sorted, rmin(r_sorted) ) ) , ( rdiff( rmax(r_sorted) , rmin(r_sorted) ) ) ) Errore in .Primitive("-")("my...@data$elevation.dem", "my...@data$elevation.dem") : argomento non numerico trasformato in operatore binario ------------------------------------------------------------ Traceback (most recent call last): File "<ipython console>", line 1, in <module> File "build/bdist.macosx-10.6-universal/egg/rpy2/robjects/__init__.py", line 423, in __call__ RRuntimeError: Errore in .Primitive("-")("my...@data$elevation.dem", "my...@data$elevation.dem") : argomento non numerico trasformato in operatore binario ################################################ ################################################ [[elided Yahoo spam]] regards, Massimo. [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.