Re: Selecting Many Things Rather Than Selecting One Thing From Many
- To: mathgroup at smc.vnet.net
- Subject: [mg66199] Re: [mg66180] Selecting Many Things Rather Than Selecting One Thing From Many
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Thu, 4 May 2006 05:19:46 -0400 (EDT)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
m = Table[Random[Integer, 1000], {1000}, {3}];
k = {34, 876, 199};
sel=Select[m, MemberQ[k, #[[1]]]&]
{{876, 551, 965}, {34, 454, 475}, {876, 810, 192}}
pos = Position[m, _?(MemberQ[k, #[[1]]]&), 1, Heads->False]//Flatten
{202, 459, 721}
sel == m[[pos]]
True
Bob Hanlon
---- Gregory Lypny <gregory.lypny at videotron.ca> 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
>