MathGroup Archive 2002

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

Search the Archive

RE: Help with Select[]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg34661] RE: [mg34631] Help with Select[]
  • From: "DrBob" <majort at cox-internet.com>
  • Date: Fri, 31 May 2002 04:26:48 -0400 (EDT)
  • Reply-to: <drbob at bigfoot.com>
  • Sender: owner-wri-mathgroup at wolfram.com

A direct approach is:

Select[anySet, And @@ (#[[-1]] == 0 & /@ #) &]

Notice that the two instances of # in that line mean different things!

If you're interested in rules, there are other solutions.  For instance,

Select[anySet, And @@ (# /. zeroY) &]

where (depending on what non-zero y can be), zeroY is defined by one of
these:

zeroY = {{_, 0} -> True, {_, 1} -> False}
zeroY = {_, x_Integer} -> x == 0
zeroY = {{_, x_Integer} -> x == 0, {_, x_Real} -> x == 0}
etc.

Bobby Treat

-----Original Message-----
From: Kevin Gross [mailto:kc144_nospam at ameritech.net] 
To: mathgroup at smc.vnet.net
Subject: [mg34661] [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.

Thanks in advance,

Kevin Gross






  • Prev by Date: Image Processing questions (Help!)
  • Next by Date: Re: Help with Select[]
  • Previous by thread: Re: Help with Select[]
  • Next by thread: Re: Help with Select[]