[R] x,y vs row,column
Bill Simpson
wsimpson at gcal.ac.uk
Thu May 6 15:36:14 CEST 1999
I think my problems are coused by a fundamental R incompatibility in how
matrices are stored and the usual way of specifying Cartesian coordinates.
When I do
data<-read.table("~/r/rt/data/unif/6cbcif2d.out",header=TRUE)
x<-unique(data$lag1)
y<-unique(data$lag2)
z<-matrix(data$cif2d,length(y),length(x))
This z matrix is printed apparently correctly from a Cartesian point of
view
> z
[,1] [,2] [,3]
[1,] 11 21 31
[2,] 12 22 32
[3,] 13 23 33
But if you look at the numbers on the top and side you see that the row
and column indexes have been reversed! By that I mean in Cartesian system
you do (x,y) which is equiv to (col,row); matrix() prints the numbers
above in accord with (col,row) but they are actually stored as (row,col).
> z[2,1]
[1] 12
whereas I would expect 21.
If this is standard for you stats people that is too bad, in my opinion.
I always think in terms of x,y,z = col, row, height.
So I need to use:
z<-matrix(data$cif2d,length(y),length(x), byrow=TRUE)
How do you avoid getting mixed up when making an image plot of a matrix?
I like the way persp() is set up, which is NOT the way image() is set up.
Bill Simpson
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list