Dear R users and friends,
I would like to ask you about the weird behaviour of a function I just wrote. This little function should take a vector, find NAs and substitute them for the mean of the vector, and return the normalized value of that vector.
I've tried both <- and <<- for changing the variables. That's what I do: # just a vector: b <- c(1,1,1,NA,3,2) # my function: normalize <- function(x) { # copy x into new vector xn <- x # index of NAs nas <- which(is.na(xn) ==TRUE) m <- mean(xn, na.rm=TRUE) # insert mean for NAs xn[nas] <- m # normalize return((xn - mean(xn))/sd(xn)) } # run... normalize(b) # here's what I get: # [1] -0.75 -0.75 -0.75 0.00 1.75 0.50 The 4th value should be 1.6, but is 0. I believe the answer to my problem is pretty obvious, but I can't see it... Best regards, David ______________________________________________ R-help@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.