[R] MAtrix addressing

David Winsemius dwinsemius at comcast.net
Wed Jan 26 13:49:42 CET 2011


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



More information about the R-help mailing list