On Wed, Nov 17, 2010 at 3:49 PM, David Winsemius <dwinsem...@comcast.net>wrote:
> > On Nov 17, 2010, at 6:27 PM, Sam Albers wrote: > > Hello all, >> >> I have a fairly simple data manipulation question. Say I have a dataframe >> like this: >> >> dat <- as.data.frame(runif(7, 3, 5)) >> dat$cat <- factor(c("1","4","13","1","4","13","13A")) >> >> dat >> runif(7, 3, 5) cat >> 1 3.880020 1 >> 2 4.062800 4 >> 3 4.828950 13 >> 4 4.761850 1 >> 5 4.716962 4 >> 6 3.868348 13 >> 7 3.420944 13A >> >> Under the dat$cat variable the 13A value is an analytical replicate. For >> my >> purposes I would like to drop all values that are not an integer (i.e. >> 13A) >> from the dataframe. Can anyone recommend a way to drop all rows where the >> cat value is a non-integer? >> > > dat[!is.na(as.numeric(as.character(dat$cat))), ] > > (You do get a warning about coercion to NA's but that is a good sign since > that is what we were trying to exclude in the first place.) > Apologies. This worked fine but I didn't quite outline that I also wanted to drop the unused levels of the factor as well. drop=TRUE doesn't seem to work, so can anyone suggest a way to drop the factor levels in addition to the values? > sd <- dat[!is.na(as.numeric(as.character(dat$cat))), ] Warning message: In `[.data.frame`(dat, !is.na(as.numeric(as.character(dat$cat))), : NAs introduced by coercion > str(sd) 'data.frame': 6 obs. of 2 variables: $ runif(7, 3, 5): num 3.88 4.06 4.83 4.76 4.72 ... $ cat : Factor w/ 4 levels "1","13","13A",..: 1 4 2 1 4 2 > > >> Sorry for the simple question and thanks in advance. >> >> Sam >> -- >> ***************************************************** >> Sam Albers >> Geography Program >> University of Northern British Columbia >> 3333 University Way >> Prince George, British Columbia >> Canada, V2N 4Z9 >> phone: 250 960-6777 >> ***************************************************** >> >> [[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. >> > > David Winsemius, MD > West Hartford, CT > > -- ***************************************************** Sam Albers Geography Program University of Northern British Columbia 3333 University Way Prince George, British Columbia Canada, V2N 4Z9 phone: 250 960-6777 ***************************************************** [[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.