Re: Sorting on multiple columns within a matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg57838] Re: Sorting on multiple columns within a matrix
- From: dh <dh at metrohm.ch>
- Date: Thu, 9 Jun 2005 06:12:02 -0400 (EDT)
- References: <d892lm$sc6$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hello Lee, You need "Ordered" like in this example: Sort[m, If[#1[[2]] === #2[[2]], OrderedQ[{#1[[1]], #2[[1]]}], OrderedQ[{#1[[2]], #2[[2]]}]] &] sincerely, Daniel Lee Newman wrote: > Hello, > > I can't come up with a solution to the following simple task: > > - I have a matrix, let's M={ {"Z",2,"a"},{"A",2,"k"}, {"Z",1,"z"}, > {"A",1,"a"},{"Z",3,"k"}, {"A",3,"z"} } > - I want to be able to sort the matrix row-wise, based on multiple > columns, for example sort first on column 2 (ascending) and then > secondly on column1 (ascending) > > desired result: > A 1 a > Z 1 z > A 2 k > Z 2 a > A 3 z > Z 3 k > > I suspect the solution involves using a pure function of some form as > the second argument in the Sort function, but I can't figure out what > this function should be. > > Thanks, > Lee >