MathGroup Archive 2009

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

Search the Archive

Re: Selecting Rows Based on Column Values

  • To: mathgroup at smc.vnet.net
  • Subject: [mg101557] Re: Selecting Rows Based on Column Values
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Fri, 10 Jul 2009 06:43:52 -0400 (EDT)

On 7/8/09 at 7:10 AM, wu.x.cynthia at gmail.com (cynthia wu) wrote:

>I've been trying to use the Select Command to select only the rows
>that have the a specific value in a specific column.  I have, for
>example, the following matrix (4x3):

>tester={{1, 3, 1}, {3, 1, 0}, {4, 2, 1}, {5, 6, 2}}

>I want to select the rows that have values ==1 in the 3rd column.
>I've tried:

>select(tester, #[[All,3]]==1&), but I get an error saying that my
>request violates the matrix boundaries.

>The desired output should be: {{1,3,1}, {4,2,1}}.

You are close. What the selector operates on is an individual
row of your matrix. So instead of

#[[All,3]]==1&

all you need is

#[[3]]==1&

Any of the following do what you want

In[2]:= Select[tester, #[[3]] == 1 &]

Out[2]= {{1, 3, 1}, {4, 2, 1}}

In[3]:= Select[tester, Last[#] == 1 &]

Out[3]= {{1, 3, 1}, {4, 2, 1}}

In[4]:= Cases[tester, {__, 1}]

Out[4]= {{1, 3, 1}, {4, 2, 1}}



  • Prev by Date: Re: Is it possible to impose a condition on an iterator of
  • Next by Date: fractal_teardrops.gif (GIF Image, 658x1009 pixels) - Scaled (90%)
  • Previous by thread: Re: Selecting Rows Based on Column Values
  • Next by thread: Installation errors on Solaris with Mathematica 6.