MAtrix addressing
On Jan 26, 2011, at 2:47 AM, Alaios wrote:
The reason is the following image http://img545.imageshack.us/i/maptoregion.jpg/ In the picture above you will find the indexes for each cell. Also you will see that I place that matrix inside a x,y region that spans from -1 to 1. I am trying to write one function that will get as argument a (x,y) value x e[-1,1] y e[-1,1] and will return the indexes of that cell tha x,y value correspond to.
I really do not have a clue how I should try to approach that to solve it. So based on some version I had for 1-d vector I tried to extend it for 2-d. I used findInterval as a core to get results. Unfortunately my code fails to produce accurate results as my approach 'assumes' (this is something inhereted by the find Interval function) that the numbering starts bottom left and goes high top right. You will find my code below
If one wants to take an ordinary r matrix and reorder it in the manner you describe: mtx2 <- mtx[ nrow(mtx):1, ] Whether that is an efficient way to get at the sokution your you programming task I cannot say. It sounds as though it has gotten too convoluted. I was not able to comprehend the overall goal from your problem description.
sr.map <- function(sr){
# This function converts the s(x,y) matrix into a function x that
spans #from -1 to 1 and y spans from -1 to 1.
# Input: sr a x,y matrix containing the shadowing values of a Region
breaksX <- seq(from=-1, to = 1, length = nrow(sr) +1L )
breaksY <- seq(from=-1, to = 1, length = ncol(sr) + 1L)
function(x,y){ # SPAGGETI CODE FOR EVER
indx <- findInterval(x, breaksX,rightmost.closed=TRUE)
indy <- findInterval(y, breaksY,rightmost.closed=TRUE)
c(indx,indy)
}
}
sr<-matrix(data=seq(from=1,to=36),nrow=6,ncol=6,byrow=TRUE)
f.sr.map<-sr.map((sr))
f.sr.map(-0.1,-0.1)
f.sr.map(0.1,0.1)
Best Regards
Alex
--- On Wed, 1/26/11, David Winsemius <dwinsemius at comcast.net> wrote:
From: David Winsemius <dwinsemius at comcast.net> Subject: Re: [R] MAtrix addressing To: "Alaios" <alaios at yahoo.com> Cc: R-help at r-project.org Date: Wednesday, January 26, 2011, 2:54 AM On Jan 25, 2011, at 4:50 PM, Alaios wrote:
Hello I would like to ask you if it is possible In R Cran to
change the default way of addressing a matrix.
for example matrix(data=seq(from=1,to=4,nrow=2,ncol=2, by row
numbering) # not having R at this pc
will create something like the following 1 2 3 4 the way R address this matrix is from top left corner
moving to bottom right.
The cell numbers in that way are 1 2 3 4 IS it possible to change this default addresing number
to something that goes bottom left to top right? In this simple case I want to have
3 4 1 2 Would that be possible?
Yes. it's possible but ... why?
I would like to thank y for your help Regards Alex
______________________________________________ R-help at 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. David Winsemius, MD West Hartford, CT
David Winsemius, MD West Hartford, CT