[R] Drop non-integers

David Winsemius dwinsemius at comcast.net
Thu Nov 18 00:49:37 CET 2010


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.)

>
> 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 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list