[R] missing -> nonmissing levels
Chuck Cleland
ccleland at optonline.net
Fri Feb 16 16:28:36 CET 2007
Jon Minton wrote:
> Hi,
>
> I expect this is simple but haven’t found an answer looking on the
> archives...
>
> I want to convert ‘NA’ (missing) to particular levels (nonmissing) in factor
> vectors.
>
> e.g. I know
>
>> X <- c(1, 2, 3)
>
>> summary(X)
>
> Min. 1st Qu. Median Mean 3rd Qu. Max.
>
> 1.0 1.5 2.0 2.0 2.5 3.0
>
>> X <- as.factor(X)
>
>> summary(X)
>
> 1 2 3
>
> 1 1 1
>
>> levels(X)
>
> [1] "1" "2" "3"
>
>> levels(X) <- c("A", NA, "B")
>
>> summary(X)
>
> A B NA's
>
> 1 1 1
>
> But what if I want to turn the NA back into a level?
>
> How do I do this?
One way is to use recode() in the car package by John Fox. For example:
library(car)
X <- factor(c(1, NA, 3))
X
[1] 1 <NA> 3
Levels: 1 3
recode(X, "NA='J'")
[1] 1 J 3
Levels: 1 3 J
> Thanks, Jon
>
> ------------------------------------------------------------------------
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
--
Chuck Cleland, Ph.D.
NDRI, Inc.
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894
More information about the R-help
mailing list