Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Using Select with arrays? (Relative newbie)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg54292] Re: [mg54258] Re: Using Select with arrays? (Relative newbie)
  • From: DrBob <drbob at bigfoot.com>
  • Date: Wed, 16 Feb 2005 14:36:12 -0500 (EST)
  • References: <200502140317.WAA14058@smc.vnet.net> <200502150250.VAA27328@smc.vnet.net>
  • Reply-to: drbob at bigfoot.com
  • Sender: owner-wri-mathgroup at wolfram.com

data = {{1, 1, string1, c, d},
     {1, 2, string2, c, d},
     {1, 3, string3, c, d},
     {1, 4, string4, c, d},
     {2, 1, string1, c, d},
     {2, 2, string2, c, d},
     {3, 1, string3, c, d},
     {4, 1, string2, c, d},
     {4, 2, string4, c, d}};

Cases[data, {1, Max[data[[All,2]]], _, _, _}]
{{1, 4, string4, c, d}}

Bobby

On Mon, 14 Feb 2005 21:50:53 -0500 (EST), János <janos.lobb at yale.edu> wrote:

> Well, I did not read to the end at first.
> If you want to use Select to select the element which has maximum in
> its #2 location from all those who have 1 in their #1 location, then
> you can do something like:
>
> In[23]:=
> Select[Select[data,
>     #1[[1]] == 1 & ],
>    #1[[2]] == Max[
>       Select[data,
>         #1[[1]] == 1 & ][[All,
>        2]]] & ]
> Out[23]=
> {{1, 4, string4, c, d}}
>
> János
>
> On Feb 13, 2005, at 10:17 PM, Hugo Mallinson wrote:
>
>> The subject might not be entirely correct, but here is my problem:
>> I have a list of 5-variable data points like
>> data = {
>> {1, 1, string1, c, d}
>> {1, 2, string2, c, d}
>> {1, 3, string3, c, d}
>> {1, 4, string4, c, d}
>> {2, 1, string1, c, d}
>> {2, 2, string2, c, d}
>> {3, 1, string3, c, d}
>> {4, 1, string2, c, d}
>> {4, 2, string4, c, d}
>> }
>> and I want to extract just the points that have 1 (or 2, etc) as their
>> first value. I think I should do something like
>> Select[data, {1, _Integer, _String, _Integer, _Integer}]
>> but that doesn't work.
>> Having done that I need to find the maximum value of #2 for each
>> string, which I presumably do by the same method as above to extract
>> all string1 (or ...2) and then use Map[] and Max[]. I would do this all
>> with For loops (revealing my lack of Mathematica chops :-) ) but I'd
>> really like to learn how to do this sort of extraction in a
>> Mathematica-y way. Any help would be greatly appreciated!
>> Hugo
>
> ----------------------------------------------
> Trying to argue with a politician is like lifting up the head of a
> corpse.
> (S. Lem: His Master Voice)
>
>
>
>



-- 
DrBob at bigfoot.com
www.eclecticdreams.net


  • Prev by Date: Re: Re: finding out what Automatic was
  • Next by Date: Re: Re: Using Select with arrays? (Relative newbie)
  • Previous by thread: Re: Re: Using Select with arrays? (Relative newbie)
  • Next by thread: Re: Re: Using Select with arrays? (Relative newbie)