Matrix is just a vector. So order should work
haven't verified the following code.

a <- matrix(rnorm(4000*2000), 4000, 2000)
b <- order(a, na.last=TRUE, decreasing=TRUE)[1:50]

use %% or %/% to get the row# and column #s


Nikhil Kaza
Asst. Professor,
City and Regional Planning
University of North Carolina

nikhil.l...@gmail.com

On Jun 18, 2010, at 1:41 AM, uschlecht wrote:


Hi,

I have a huge matrix (4000 * 2000 data points) and I would like to retrieve
the coordinates (column and row) for the top 50 (or x) values. Some
positions in the matrix have NA as a value. These should be discarded.

My current method is to replace all NAs by 0, then rank all the values and
then extract the positions with the 50 highest ranks. It is very
time-consuming!

Is there a simpler way to do this?

Thank you,
Ulrich

--
View this message in context: 
http://r.789695.n4.nabble.com/Find-the-50-highest-values-in-a-matrix-tp2259721p2259721.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@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.
b - b%%nrow(a)

______________________________________________
R-help@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.

Reply via email to