RE: Help with Select[]

• To: mathgroup at smc.vnet.net
• Subject: [mg34730] RE: [mg34631] Help with Select[]
• From: "Wolf, Hartmut" <Hartmut.Wolf at t-systems.com>
• Date: Tue, 4 Jun 2002 03:41:39 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```
> -----Original Message-----
> From: Kevin Gross [mailto:kc144_nospam at ameritech.net]
To: mathgroup at smc.vnet.net
> Sent: Thursday, May 30, 2002 8:55 AM
> Subject: [mg34730] [mg34631] Help with Select[]
>
>
> Hello all,
>
> 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.
>
>
> Kevin Gross
>
>

Kevin,

e.g.

In[3]:= Select[setA,
Plus @@ Abs[Transpose[#][[2]]] == 0 &]
Out[3]=
{{{x1, 0}, {x2, 0}}, {{x3, 0}, {x4, 0}}}

In[4]:= Select[setB,
Plus @@ Abs[Transpose[#][[2]]] == 0 &]
Out[4]=
{{{x1, 0}, {x2, 0}, {x3, 0}}, {{x4, 0}, {x5, 0}, {x6, 0}}}

also

In[6]:= Select[setB,
With[{s = Transpose[#][[2]]},
s.s == 0] &]
Out[6]=
{{{x1, 0}, {x2, 0}, {x3, 0}}, {{x4, 0}, {x5, 0}, {x6, 0}}}

(The second one has to be modified slightly if you may have complex values.)

--
Hartmut

```

• Prev by Date: Re: eliminate some characters inside a file
• Next by Date: RE: RE: Re: Is it possible to access internal variables?