[R] filter a data.frame

Gerrit Eichner Gerrit.Eichner at math.uni-giessen.de
Fri Dec 13 15:21:42 CET 2013


Hello, Mat,

see below.

> hello together, i want to filter a data.frame. My problem is, that i 
> want to filter 2 numbers.
>
> My data.frame look like this one.
>
> No.   text
> 1      abc
> 2      def
> 3      ee
> 4      ff
> 5      gg
>
> I want now to filter No. 2 and 3, so my solution should be look like this
> one.
>
> No.   text
> 2     def
> 3     ee
>
> i tried it like this one:
> out1<-out[(out$No==no.ind),]
>
> in no.ind i have the 2 numbers: c("2","3")
>
> but this doesn't work.

You should not expect a vector (of two elements), here no.ind, equal 
elementwise any of the elements of another (longer) vector, here out$No. 
You probably actually want to check for each element of out$No if it is 
contained in the set of elements in no.ind. So, use, e.g.,

> out1 <- out[(out$No %in% no.ind),]

See ?is.element.


  Hth  --  Gerrit



More information about the R-help mailing list