Hi:

How about this? Calling your matrix a,

a[order(rowSums(a)), ]
     [,1] [,2] [,3]
[1,]    9    1    2
[2,]    2   11    1
[3,]    3    4   13

HTH,
Dennis


On Fri, Apr 23, 2010 at 1:10 PM, Jonathan <jonsleepy@gmail.com> 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.
>

	[[alternative HTML version deleted]]

