[R] Fill in NA values in vector with previous character/factor

Gabor Grothendieck ggrothendieck at gmail.com
Mon Jul 28 21:24:15 CEST 2008


Try this:

library(zoo)
x <-  c("A","B",NA,NA,"C",NA,NA,NA,NA,"D",NA,NA)

na.locf(x)


On Mon, Jul 28, 2008 at 2:10 PM, Owen Jones <owen.jones at imperial.ac.uk> wrote:
> I have a vector of data (species names) interspersed with NA values and I
> want a function to "fill in the blanks", replacing NA values with whatever
> the last species name was.
>
> For example the vector:
>
>  "A","B",NA,NA,"C",NA,NA,NA,NA,"D",NA,NA.
>
> should evaluate to:
>
> "A" "B" "B" "B" "C" "C" "C" "C" "C" "D" "D" "D"
>
>
> I tried to use rle() in a function to do this but have hit a brick wall.
>
> How would YOU do this?
>
> Many thanks,
>
> Owen
>
> ______________________________________________
> 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