Re: Help with Select[]
- To: mathgroup at smc.vnet.net
- Subject: [mg34675] Re: Help with Select[]
- From: Mars.bbs at bbs.dartmouth.edu (Momotalo)
- Date: Fri, 31 May 2002 04:27:32 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
transpose the sublist,then determine if they are all zeros:) Select[setA, (Plus @@ Abs[Transpose[#][[2]]] == 0) &] >>------- kc144_nospam wrote: : 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 --