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

Dimitris Rizopoulos Dimitris.Rizopoulos at med.kuleuven.be
Mon Jul 28 21:26:11 CEST 2008

try function na.locf() from package 'zoo', i.e.,

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

I hope it helps.


Dimitris Rizopoulos
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/

Quoting Owen Jones <owen.jones at imperial.ac.uk>:

> 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.

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

More information about the R-help mailing list