Take the rle, fix up the result and take the invese.rle. Our formula adds 0's to the end too so remove those with head:
head(inverse.rle(with(rle(x), list(lengths = c(rbind(lengths, 3)), values = c(rbind(values, 0))))), -3) On Dec 4, 2007 10:49 AM, Serguei Kaniovski <[EMAIL PROTECTED]> wrote: > > Hallo, > > suppose I have a vector: > > x <- c(1,1,1,2,2,3,3,3,3,3,4) > > How can I generate a vector/sequence in which a fixed number of zeroes (say > 3) is inserted between the consecutive values, so I get > > 1,1,1,0,0,0,2,2,0,0,0,3,3,3,3,3,0,0,0,4 > > thanks a lot, > Serguei > [[alternative HTML version deleted]] > > ______________________________________________ > 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.