[R] subsets, %in%

Erik Iverson eriki at ccbr.umn.edu
Fri Nov 5 19:22:33 CET 2010

Well, %in% returns a logical vector...


subset(dat, ! ID %in% someID)

Also, from ?subset:

      that ‘subset’ will be evaluated in the data frame, so columns can
      be referred to (by name) as variables in the expression

Thus, you don't need 'dat$ID', bur just 'ID' in the subset argument.


MP.Sylvestre at gmail.com wrote:
> Hi,
> I have a question about %in% and subsettin data frames.
> Say I need to keep ID 1,2,4,5, 10 from the data frame dat. I can do:
> dat <- data.frame(ID = 1:10, var = 1:10)
> someID <- c(1,2,4,5,10)
> subset(dat, dat$ID %in% someID)
> Is there a quick way to do the opposite, ie to do a subset that contains  
> all ID but someID? Something like %not in%, which would *remove* lines with  
> ID in someID?
> I am asking because I need this in a more complex example where there are  
> multiple lines with the same ID (data in long format) and I need to remove  
> selected ID.
> thanks,
> MP
> 	[[alternative HTML version deleted]]
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list