Can you specify how you would re-order this matrix:

matrix(1:16, 4,4)

> apply(mtx, 2, which.max)
[1] 4 4 4 4

--
David.
On Apr 23, 2010, at 4:10 PM, Jonathan wrote:

Hi r-help community,
   This question isn't so much a syntax/coding one, but here goes:

Let's say I have matrix of arbitrary dimensions and I'd like to
reorder the rows in such a way that I could maximize the sum of the
entries along the diagonal.

For example, for this 3x3 matrix:


    [,1] [,2] [,3]
[1,]    3    4   13
[2,]    9    1    2
[3,]    2   11    1

rearranging the rows to maximize the sum along the diagonal would
produce this matrix:

    [,1] [,2] [,3]
[1,]    9    1    2
[2,]    2   11    1
[3,]    3    4   13


I've been experimenting with some scripts of my own, but I figured I'd
ask if one of you R-ninjas might know of an existing function (or
algorithm I could look up and then code) that can do this somewhat
efficiently (or even just correctly!).

Best,
Jonathan

______________________________________________
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.

David Winsemius, MD
West Hartford, CT

______________________________________________
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