WOW! It worked. Thank you! >>> Gabor Grothendieck <ggrothendi...@gmail.com> 12/03/09 11:46 AM >>> na.locf in the zoo package takes the last occurrence and carries it forward into NAs so replace your zeros with NAs and then apply na.locf like this:
library(zoo) na.locf(replace(x, x==0, NA)) On Thu, Dec 3, 2009 at 11:41 AM, Farida Mostajabi <f0mos...@louisville.edu>wrote: > Hi all, > > I have a vector like this: > > x<- c(0.7, 0.1, 0, 0.2, 0.2, 0, 0, 0 , 0, 0.4, 0, 0.8, 1.8) > > I would like to replace the zero values with the first previous non zero > value. > > my returning vector should look like this: > > y<-c( 0.7, 0.1, 0.1,0.2,0.2,0.2,0.2,0.2, 0.4, 0.4, 0.8, 1.8) > > How can I do this in R without using for loop? > > Thank you > > ______________________________________________ > 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. > ______________________________________________ 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.