replace NAs
But, assuming you accept replacing each NA by the global mean or median, the same operation can be done avoiding the for(), which is always better:
x<-c(NA,12,NA,14,15,17,21) x[is.na(x)] <- median(x,na.rm=T) x
[1] 15 12 15 14 15 17 21 Agus Dr. Agustin Lobo Instituto de Ciencias de la Tierra (CSIC) Lluis Sole Sabaris s/n 08028 Barcelona SPAIN tel 34 93409 5410 fax 34 93411 0012 alobo at ija.csic.es
On Wed, 27 Feb 2002, E. D. Isaia wrote:
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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._