[R] Trick to replace NA
Marc Girondot
marc_grt at yahoo.fr
Thu Nov 22 13:56:06 CET 2012
Dear members,
I have a series of values in a vector and some value are missing and
replaced with NA.
For example:
a <- c(27, 25, NA, NA, 24, 26, 27, NA, 26)
I would like to replace the NAs with the value taken from the previous
value that is non-NA. The output would be in this case:
27 25 25 25 24 26 27 27 26
Now I do that with a for loop, but I try to eliminate all the loops to
gain in performance
I try this and it works but again I have a while and then I do not
eliminate completely loop:
l <- length(a)
while(any(is.na(a))) {a[2:l] <- ifelse(is.na(a[2:l]), a[1:(l-1)], a[2:l])}
If someone have another solution, I will be most happy !
Sincerely
Marc Girondot
--
__________________________________________________________
Marc Girondot, Pr
Laboratoire Ecologie, Systématique et Evolution
Equipe de Conservation des Populations et des Communautés
CNRS, AgroParisTech et Université Paris-Sud 11 , UMR 8079
Bâtiment 362
91405 Orsay Cedex, France
Tel: 33 1 (0)1.69.15.72.30 Fax: 33 1 (0)1.69.15.73.53
e-mail: marc.girondot at u-psud.fr
Web: http://www.ese.u-psud.fr/epc/conservation/Marc.html
Skype: girondot
More information about the R-help
mailing list