Re: Sort on vector component
- To: mathgroup at smc.vnet.net
- Subject: [mg122026] Re: [mg122006] Sort on vector component
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Sun, 9 Oct 2011 03:53:50 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201110080936.FAA21131@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
u = {{2, 12, 7, 21}, {2, 48, 47, 97}, {4, 42, 41, 87}, {6, 8, 1,
15}, {6, 12, 9, 27}};
n = RandomChoice@Range@Last@Dimensions@u
3
SortBy[u, #[[n]] &]
{{6, 8, 1, 15}, {2, 12, 7, 21}, {6, 12, 9, 27}, {4, 42, 41, 87}, {2,
48, 47, 97}}
u[[Ordering@u[[All, n]]]]
{{6, 8, 1, 15}, {2, 12, 7, 21}, {6, 12, 9, 27}, {4, 42, 41, 87}, {2,
48, 47, 97}}
Bobby
On Sat, 08 Oct 2011 04:36:18 -0500, Dr. Wolfgang Hintze <weh at snafu.de>
wrote:
> Given a list
>
> u = {{2, 12, 7, 21}, {2, 48, 47, 97}, {4, 42, 41, 87},
> {6, 8, 1, 15}, {6, 12, 9, 27}}
>
> How can I sort it with respect to a given index position i=(1, ..., 4)?
>
> For i=1 it is simply Sort, for the last one I could use
>
> In[75]:=
> Reverse /@ Sort[Reverse /@ u]
> Out[75]=
> {{6, 8, 1, 15}, {2, 12, 7, 21}, {6, 12, 9, 27},
> {4, 42, 41, 87}, {2, 48, 47, 97}}
>
> I don't want to go in the details of defining lexicographical order but
> just obtain a sorting as described above.
>
> Any ideas?
>
> Thanks in advance.
>
> Wolfgang
>
>
--
DrMajorBob at yahoo.com
- References:
- Sort on vector component
- From: "Dr. Wolfgang Hintze" <weh@snafu.de>
- Sort on vector component