# matrix element position: from length to dim

3 messages
Open this post in threaded view
|
Report Content as Inappropriate

## matrix element position: from length to dim

 How can I pass from position in length inside a matrix to position in dim ? a=matrix(c(1:999),nrow=9) which(a==87)    #position in length 1:length(a) 87 which(a==87,arr.ind=TRUE)   #position in dim      row col [1,]   6  10 ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|
Report Content as Inappropriate

## Re: matrix element position: from length to dim

 On Thu, Feb 02, 2012 at 02:08:37PM +0100, Ana wrote: > How can I pass from position in length inside a matrix to position in dim ? > > > a=matrix(c(1:999),nrow=9) > > which(a==87)    #position in length 1:length(a) > 87 > > which(a==87,arr.ind=TRUE)   #position in dim >      row col > [1,]   6  10 Hi. Assume    d <- dim(a)    i <- 87 Try the following two approaches. 1.    x <- rep(FALSE, times=prod(d))    x[i] <- TRUE    which(array(x, dim=d), arr.ind=TRUE)        row col   [1,]   6  10 2.   c((i - 1) %% d[1], (i - 1) %/% d[1]) + 1   [1]  6 10 Hope this helps. Petr Savicky. ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.