On Wed, Nov 17, 2010 at 3:49 PM, David Winsemius <[email protected]>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]]
>>
>> ______________________________________________
>> [email protected] 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]]
______________________________________________
[email protected] 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.