[R] numeric variables converted to character when recoding missing values
Juan Pablo Lewinger
lewinger at usc.edu
Sat Jun 24 00:00:16 CEST 2006
Dear R helpers,
I have a data frame where missing values for numeric variables are coded as
999. I want to recode those as NAs. The following only partially succeeds
because numeric variables are converted to character in the process:
df <- data.frame(a=c(999,1,999,2), b=LETTERS[1:4])
is.na(df[2,1]) <- TRUE
df
a b
1 999 A
2 NA B
3 999 C
4 2 D
is.numeric(df$a)
[1] TRUE
is.na(df[!is.na(df) & df==999]) <- TRUE
df
a b
1 <NA> A
2 1 B
3 <NA> C
4 2 D
is.character(df$a)
[1] TRUE
My question is how to do the recoding while avoiding this undesirable side
effect. I'm using R 2.2.1 (yes, I know 2.3.1 is available but don't want to
switch mid project). I'd appreciate any help.
Further details:
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 2
minor 2.1
year 2005
month 12
day 20
svn rev 36812
language R
Juan Pablo Lewinger
Department of Preventive Medicine
Keck School of Medicine
University of Southern California
More information about the R-help
mailing list