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

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


I hope it helps.

Best,
Dimitris


----
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/
      http://perswww.kuleuven.be/dimitris_rizopoulos/


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