MathGroup Archive 2006

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

Search the Archive

Re: Selecting Many Things Rather Than Selecting One Thing From Many

  • To: mathgroup at smc.vnet.net
  • Subject: [mg66202] Re: Selecting Many Things Rather Than Selecting One Thing From Many
  • From: Gregory Lypny <gregory.lypny at videotron.ca>
  • Date: Thu, 4 May 2006 05:19:57 -0400 (EDT)
  • References: <e39k7e$cno$1@smc.vnet.net> <44588406.7040200@gmail.com>
  • Sender: owner-wri-mathgroup at wolfram.com

I owe you a bottle of wine.  And my homework continues.

Thanks,

	Gregory


On Wed, May 3, 2006, at 6:20 AM, Jean-Marc Gulliet wrote:

> Gregory Lypny wrote:
>> Hello everyone,
>> I've discovered another use or need for the Select function, which  
>> I  suspect requires mapping of some sort.
>> In my previous posts, members of this MathGroup kindly showed me  
>> how  to apply Select to many columns of a matrix at once.  For  
>> example,
>> (Select[#1, #1 > K & ] & ) /@ Transpose[theMatrix]
>> will pull out all values greater than K, where K is a number such  
>> as  100.
>> But suppose now that K is a list of numbers, such as K={34, 876,   
>> 199}, and I simply want to extract or identify all of the rows in  
>> the  first column of theMatrix equal to any one of those numbers.   
>> How  would I do that?  I started with
>> Select[theMatrix, #[[1]]==any element of list K]
>> and I imagine something similar could be applied to the Position   
>> function.
>> Any hint would be much appreciated.
>> 	Gregory
> Hi Gregory,
>
> I think the following expressions will direct you toward what you  
> want:
>
> In[1]:=
> lst={{109,168,173,109},{4,143,200,90},{181,162,85,196},{30,
>         108,86,34},{94,127,144,34},{199,109,195,188},{176,
>       34,46,110},{95,27,160,109},{43,
>       71,130,66},{56,148,109,163},{110,43,50,53},{32,34,16,95}};
>
> In[2]:=
> TableForm[lst]
>
> Out[2]//TableForm=
> 109   168   173   109
>
> 4     143   200   90
>
> 181   162   85    196
>
> 30    108   86    34
>
> 94    127   144   34
>
> 199   109   195   188
>
> 176   34    46    110
>
> 95    27    160   109
>
> 43    71    130   66
>
> 56    148   109   163
>
> 110   43    50    53
>
> 32    34    16    95
>
> In[3]:=
> K=100;
> Select[lst,#1[[1]]>K&]//TableForm
>
> Out[4]//TableForm=
> 109   168   173   109
>
> 181   162   85    196
>
> 199   109   195   188
>
> 176   34    46    110
>
> 110   43    50    53
>
> In[5]:=
> K={43,876,199};
> Select[lst,MemberQ[K,#1[[1]]]&]//TableForm
>
> Out[6]//TableForm=
> 199   109   195   188
>
> 43    71    130   66
>
> In[7]:=
> Position[lst[[All,1]],Alternatives@@K]//TableForm
>
> Out[7]//TableForm=
> 6
>
> 9
>
> In[8]:=
> Position[lst,{x_,___}/;MemberQ[K,x]]//TableForm
>
> Out[8]//TableForm=
> 6
>
> 9
>
> Best regards,
> Jean-Marc


  • Prev by Date: Re: Selecting Many Things Rather Than Selecting One Thi ng From Many
  • Next by Date: Re: puzzling mathworld formulas
  • Previous by thread: Re: Selecting Many Things Rather Than Selecting One Thing From Many
  • Next by thread: Faster Random Walk Simulation ?!?