Hi Peter, Try this:
r <- with(z, tapply(y, n, function(x) sum(x == 0) > 2)) z[!rep(r, with(z, table(n))), ] HTH, Jorge On Thu, Jun 30, 2011 at 1:05 AM, Peter Maclean <> wrote: > I tried this but did not work: > z0<- by(z, z[,"n"], function(x) subset(x, sum(n==0)>2)) > Peter Maclean > Department of Economics > UDSM > > > > ----- Original Message ---- > From: Duncan Murdoch <> > To: Peter Maclean <> > Cc: > Sent: Wed, June 29, 2011 3:33:25 PM > Subject: Re: [R] DROP OBSEVATION IN A GROUP > > On 29/06/2011 4:29 PM, Peter Maclean wrote: > > People with more experience in R I need help on this. > > I would like to drop observation if they meet certain condition. In this > >example > > I would like to drop group 2 in "n" because the group in "Y" has more > than 2 > > zeroes. > > #Example > > n<- c(1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,3) > > y<- c(2,3,2,3,4,5,6,1,0,0,0,6, 2, 1, 0, 0,9,3) > > z<- as.data.frame(cbind(n,y)) > > colnames(z)<- c("n","y") > z0<- by(z, z[,"n"], function(x) subset(x, sum(n==0)>2)) > > > The general way to drop observations is to construct a logical vector to > use as > an index. Entries which are FALSE are dropped. > > Doing that based on your "more than 2 zeroes" rule looks a little tricky; I > think you want to count zeros first (e.g. using by()), then construct the > TRUE/FALSE vector based on that. > > Duncan Murdoch > > > > > > > ______________________________________________ > > R-help@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. > > ______________________________________________ > R-help@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. > [[alternative HTML version deleted]] ______________________________________________ R-help@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.