[R] replace NAs

E. D. Isaia isaia at econ.unito.it
Wed Feb 27 07:48:44 CET 2002


With this function you may replace the NA with the mean or median of the non
missing values

##   replace NA
##
rep.na<-function(x, my.mean=TRUE)
{
    if (!my.mean){valore<-median(x[!is.na(x)])}
    else {valore<-mean(x[!is.na(x)])}
    for (i in (1:length(x))){if (is.na(x[i])==TRUE) {x[i]<-valore}}
    x<<-x
}
##
##
i.e.

> (x<-c(NA,12,NA,14,15,17,21))
[1] NA 12 NA 14 15 17 21
> (rep.na(x))
[1] 15.8 12.0 15.8 14.0 15.0 17.0 21.0
> (rep.na(x,my.mean=FALSE))
[1] 15 12 15 14 15 17 21

Good job, isaia.



juan pablo perez wrote:

> Dear R community:
>
> it is possible to replace NA´s in a data frame with zeroes?
> what should I do?
>
> Thanks in advance
>
> Juan Pablo
>
> _________________________________________________________________
> MSN Photos es la manera más sencilla de compartir e imprimir sus fotos:
> http://photos.latam.msn.com/Support/WorldWide.aspx
>
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Ennio D. Isaia
~ Dep. of Statistics & Mathematics, University of Torino
~ Piazza Arbarello, 8 - 10128 Torino (Italy)
~ Phone: +39 011 670 62 51 ~~ Fax: +39 011 670 62 39
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list