[R] problem selecting rows meeting a criterion

John Kane jrkrideau at yahoo.ca
Tue Aug 11 16:20:02 CEST 2009


Clearly I was more tired than I realised last night. :( My appologies.

In any case with the data.frame name changed to xx this seems to give you what you want

  subset(xx, xx[,1] > xx[,2])

or using the data name
   subset(data, data[,1] > data[,2])  
should work as well

--- On Mon, 8/10/09, Jim Bouldin <jrbouldin at ucdavis.edu> wrote:

> From: Jim Bouldin <jrbouldin at ucdavis.edu>
> Subject: Re: [R] problem selecting rows meeting a criterion
> To: "John Kane" <jrkrideau at yahoo.ca>, r-help at r-project.org
> Received: Monday, August 10, 2009, 7:44 PM
> 
> What's wrong is I'm trying to select only those rows in
> which X > Y, but
> I'm getting rows in which Y > X and losing some in which
> X > Y.  The row
> numbers are not being read as values.  Very
> confusing.
> Jim
> > 
> > What's wrong with it? It looks okay to me.  If
> you use
> >  subset(data, data$X >data$Y)you get the same
> results. Any chance you're
> > reading the row.numbers as values?
> > 
> > BTW "data" is a reserved word in R and it is good
> practice not to use it
> > as a variable name.
> > 
> > My Results
> > 
> >     X Y   
>    V3    
> >  3  3 1 2.236068
> >  4  4 1 6.324555
> >  5  5 1 5.000000
> >  6  1 2 8.062258
> >  10 5 2 5.656854
> >  11 1 3 2.236068
> >  12 2 3 9.486833
> >  17 2 4 2.236068
> >  18 3 4 8.062258
> >  24 4 5 5.385165
> > 
> > 
> > --- On Mon, 8/10/09, Jim Bouldin <jrbouldin at ucdavis.edu>
> wrote:
> > 
> > > From: Jim Bouldin <jrbouldin at ucdavis.edu>
> > > Subject: [R] problem selecting rows meeting a
> criterion
> > > To: r-help at r-project.org
> > > Received: Monday, August 10, 2009, 5:49 PM
> > > 
> > > When I try to select only those rows from the
> following
> > > data frame, called
> > > "data", in which X > Y
> > > 
> > >    X Y       V3
> > > 2  2 1 8.062258
> > > 3  3 1 2.236068
> > > 4  4 1 6.324555
> > > 5  5 1 5.000000
> > > 6  1 2 8.062258
> > > 8  3 2 9.486833
> > > 9  4 2 2.236068
> > > 10 5 2 5.656854
> > > 11 1 3 2.236068
> > > 12 2 3 9.486833
> > > 14 4 3 8.062258
> > > 15 5 3 5.099020
> > > 16 1 4 6.324555
> > > 17 2 4 2.236068
> > > 18 3 4 8.062258
> > > 20 5 4 5.385165
> > > 21 1 5 5.000000
> > > 22 2 5 5.656854
> > > 23 3 5 5.099020
> > > 24 4 5 5.385165
> > > 
> > > using the commands
> > > > attach(data) 
> > > > data2 = data[X >Y,];data2
> > > 
> > > I get this for data2:
> > > 
> > >    X Y       V3
> > > 3  3 1 2.236068
> > > 4  4 1 6.324555
> > > 5  5 1 5.000000
> > > 6  1 2 8.062258
> > > 10 5 2 5.656854
> > > 11 1 3 2.236068
> > > 12 2 3 9.486833
> > > 17 2 4 2.236068
> > > 18 3 4 8.062258
> > > 24 4 5 5.385165
> > > 
> > > Clearly, this is not what I intend but I cannot
> figure out
> > > what I've done
> > > wrong.  Any help appreciated.  Thanks.
> > > 
> > > Jim Bouldin
> > 
> > 
> > 
> >   
>    __________________________________________________________________
> > Ask a question on any topic and get answers from real
> people. Go to Yahoo!
> > Answers an
uldin, PhD
> Research Ecologist
> Department of Plant Sciences, UC Davis
> Davis CA, 95616
> 530-554-1740
> 


      __________________________________________________________________
Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your favourite sites. Download it now
http://ca.toolbar.yahoo.com.




More information about the R-help mailing list