[R] Question regarding to replace <NA>
Phil Spector
spector at stat.berkeley.edu
Tue Nov 9 18:42:28 CET 2010
Kate -
As the error message indicates, num.strata is a
factor. This can occur when you're reading in data
and R encounters a non-numeric value which was not
specified in the na.strings= argument to read.table.
To do what you want, you'll need to convert it to a
character variable first:
> myvar = factor(c(NA,NA,NA,'1'))
> myvar[is.na(myvar)] = 0
Warning message:
In `[<-.factor`(`*tmp*`, is.na(myvar), value = 0) :
invalid factor level, NAs generated
> myvar = as.character(myvar)
> myvar[is.na(myvar)] = 0
> myvar
[1] "0" "0" "0" "1"
If you want the variable to be treated as a numeric
variable, you can use as.numeric:
> as.numeric(myvar)
[1] 0 0 0 1
Hope this helps.
- Phil Spector
Statistical Computing Facility
Department of Statistics
UC Berkeley
spector at stat.berkeley.edu
On Tue, 9 Nov 2010, Kate Hsu wrote:
> Dear r-users,
>
> Basically, I have a data as follows,
>
>> data
> S s1 s2 s3 s4 s5 prob obs num.strata
> 1 NNNNN N N N N N 0.0000108 32 <NA>
> 2 NNNNY N N N N Y 0.0005292 16 <NA>
> 3 NNNYN N N N Y N 0.0005292 24 <NA>
> 4 NNNYY N N N Y Y 0.0259308 8 1
> ....
>
> I want to replace <NA> by 0, when I tried the following command, I get som
> error message.
> data[is.na(data)]<-0
>
> Warning message:
> In `[<-.factor`(`*tmp*`, thisvar, value = 0) :
> invalid factor level, NAs generated
>
> Anyone knows how to deal with this?
>
> Thanks,
>
> Kate
>
> [[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.
>
More information about the R-help
mailing list