MathGroup Archive 2002

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

Search the Archive

Re: Help with Select[]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg34652] Re: [mg34631] Help with Select[]
  • From: BobHanlon at aol.com
  • Date: Fri, 31 May 2002 04:26:30 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 5/30/02 5:13:00 AM, kc144_nospam at ameritech.net writes:

>I've got data sets that resemble
>
>setA={
>{{x1,0},{x2,0}},
>{{x3,0},{x4,0}},
>{{x5,1},{x6,0}},
>{{x7,1},{x8,1}}
>};
>
>setB={
>{{x1,0},{x2,0},{x3,0}},
>{{x4,0},{x5,0},{x6,0}},
>{{x7,1},{x8,0},{x9,1}},
>{{x10,1},{x11,1},{x12,0}}
>};
>
>Each element of the set is a list of n (x,y) ordered pairs. So n=2 for
>the
>first set and n=3 for the second set. In general, n will differ between
>the
>data sets, but can be known. With each set, I want to select those elements
>whose sub-elements all have y=0. This is hard to explain in English, but
>easy to express in Mathematica:
>
>In:  Select[setA,(#[[1,2]]==#[[2,2]]==0)&]
>Out: {{{x1,0},{x2,0}},{{x3,0},{x4,0}}}
>
>In:  Select[setB,(#[[1,2]]==#[[2,2]]==#[[3,2]]==0)&]
>Out: {{{x1,0},{x2,0},{x3,0}},{{x4,0},{x5,0},{x6,0}}}
>
>First, I would like to know how to generate an arbitrary "selection
>function" f[n] so that
>
>In: Select[setC,f[8]]
>Out: {{{x1,0},...,{x8,0}},{{x9,0},...,{x16,0}},...}
>
>Is it possible to construct such an f? Or is there a better way of
>accomplishing this task? It seems that perhaps pattern matching might be
>of
>use, but I haven't gotten too far with it.
>

Using a test function

Select[setX, And@@Thread[(Last/@#)==0]&]

With pattern matching

Cases[setX, {{_,0}..}]


Bob Hanlon
Chantilly, VA  USA


  • Prev by Date: RE: RE: two fonts in Plot
  • Next by Date: Re: Help with Select[]
  • Previous by thread: Re: Help with Select[]
  • Next by thread: Re: Help with Select[]