Re: Sorting by date
- To: mathgroup at smc.vnet.net
- Subject: [mg72657] Re: Sorting by date
- From: "David Reiss" <dbreiss at gmail.com>
- Date: Sun, 14 Jan 2007 04:14:37 -0500 (EST)
- References: <eoa6ji$mi6$1@smc.vnet.net>
Use the two argument form of Sort:
In[1]:=
data={{3,137.5,13978,{2005,2,8}},{3,138.5,12519,{2005,1,4}},{3,171.9,
15835,{2005,4,12}},{3,142.8,17137,{2005,11,19}},{3,161.1,
18881,{2006,1,18}},{3,108.7,20055,{2006,2,28}},{3,157,
21498,{2006,9,14}},{3,118.1,10891,{2004,11,12}}}
Out[1]=
{{3,137.5,13978,{2005,2,8}},{3,138.5,12519,{2005,1,4}},{3,171.9,
15835,{2005,4,12}},{3,142.8,17137,{2005,11,19}},{3,161.1,
18881,{2006,1,18}},{3,108.7,20055,{2006,2,28}},{3,157,
21498,{2006,9,14}},{3,118.1,10891,{2004,11,12}}}
In[2]:=
Sort[data,OrderedQ[{Last[#1],Last[ #2]}]&]
Out[2]=
{{3,118.1,10891,{2004,11,12}},{3,138.5,12519,{2005,1,4}},{3,137.5,
13978,{2005,2,8}},{3,171.9,15835,{2005,4,12}},{3,142.8,
17137,{2005,11,19}},{3,161.1,18881,{2006,1,18}},{3,108.7,
20055,{2006,2,28}},{3,157,21498,{2006,9,14}}}
Clifford Martin wrote:
> Hi All,
>
> I have a list of lists that looks like so:
>
>
> {{3, 137.5, 13978, {2005, 2, 8}}, {3, 138.5, 12519, {2005, 1, 4}}, {3, 171.9, 15835, {2005, 4, 12}}, {3, 142.8, 17137, {2005, 11, 19}},
> {3, 161.1, 18881, {2006, 1, 18}}, {3, 108.7, 20055, {2006, 2, 28}}, {3, 157, 21498, {2006, 9, 14}}, {3, 118.1, 10891, {2004, 11, 12}}}
>
> The last element per vector is a date. I'd like to sort the list so that the vectors are arranged in ascending order of date, i.e. the vector containing {2004,11,12} should be first and and the vector containing {2006,9,14} should be last. Any help would be appreciated.
>
> Thanks
>
> Cliff