[R] Inserting a subsequence between values of a vector

Gabor Grothendieck ggrothendieck at gmail.com
Tue Dec 4 17:37:53 CET 2007


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 <Serguei.Kaniovski at wifo.ac.at> 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 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