Re: A little help with sort

*To*: mathgroup at smc.vnet.net*Subject*: [mg112512] Re: A little help with sort*From*: Albert Retey <awnl at gmx-topmail.de>*Date*: Sat, 18 Sep 2010 07:24:42 -0400 (EDT)*References*: <i6vgmk$3ln$1@smc.vnet.net>

Am 17.09.2010 12:42, schrieb Blackwell, Keith: > The problem I am having: > > Let's say I have a 200 x 200 matrix. > > I want to sort it in order of the values in column one. > > Then I want it to sort all the doubles by the values in column two. > > Then I want it to sort all the double doubles by reverse of the values > of column 4 or whatever. > > Is there an easy way to do this. I know I can write something long and > annoying to do it, but I'm getting to the point in my use of mathematica > where I want to write more concise code. > > Sort[Matrix, #1[[1]]>#2[[1]]&] seems to totally negate any pre > sorting... I tried to fold it backwards starting from column 4 and it > seems that sort just ignores whatever I do then. I think you want to look at SortBy, this is from its documentation: SortBy[list,{f1,f2,...] breaks ties by successively using the values obtained from the fi. so I think what you described would be done with: SortBy[matrix, {#[[1]] &, #[[2]] &,-#[[4]]&}] hth, albert