Hi All,
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... 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
################################################
################################################
thanks for any hints !!!
regards,
Massimo.
------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
rpy-list mailing list
rpy-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rpy-list