Dear R users: > append(1:5, 0:1, after=2) [1] 1 2 0 1 3 4 5 If I want to repeat the appended value every 2 like the following: [1] 1 2 0 1 3 4 0 1 5 How should I modify? Thank you for any help.
Here is a way: x <- 1:10 mySeq <- c(42,42) byTwo <- rep(seq(length(x) + 1), each=2)[1:length(x)] y <- lapply(split(x, byTwo), function(a){ c(a, mySeq) }) unlist(y) On 12/10/05, Judy Chung <cp3942@gmail.com> wrote:> > Dear R users: > > > append(1:5, 0:1, after=2) > [1] 1 2 0 1 3 4 5 > > If I want to repeat the appended value every 2 like the following: > [1] 1 2 0 1 3 4 0 1 5 > > How should I modify? > Thank you for any help. > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html >-- Jim Holtman Cincinnati, OH +1 513 247 0281 What the problem you are trying to solve? [[alternative HTML version deleted]]
append does not take a vector the after= argument. Its probably easiest to just use a loop: x <- 1:5 for(i in c(4,2)) x <- append(x, 0:1, after = i) Note that they need to be inserted in reverse order. On 12/10/05, Judy Chung <cp3942 at gmail.com> wrote:> Dear R users: > > > append(1:5, 0:1, after=2) > [1] 1 2 0 1 3 4 5 > > If I want to repeat the appended value every 2 like the following: > [1] 1 2 0 1 3 4 0 1 5 > > How should I modify? > Thank you for any help. > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html >