On 13-Sep-10 09:19:21, Feng Li wrote: > Dear R, > I have a vector, say a = c(1,2,4,5,6,8). Can I generate a vector > or array (2-by-3-by-3) of this form > c(1,2,1,2,1,2,4,5,4,5,4,5,6,8,6,8,6,8) > in which every two elements in "a" have been repeated twice? > > I am to stupid today and could not figure this simple question out... > Many many thanks! > > Feng
A possible solution (somewhat generalisable): a <- c(1,2,4,5,6,8) Reps <- 3 pairs <- matrix(a,nrow=2) as.vector(pairs[,rep(c(1,2,3),each=Reps)]) # [1] 1 2 1 2 1 2 4 5 4 5 4 5 6 8 6 8 6 8 (By the way, you have 3 repetitions but wrote "twice" -- I assume you meant "thrice" but the above generalises to 2 repetitions ... :) Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <ted.hard...@manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861 Date: 13-Sep-10 Time: 10:42:46 ------------------------------ XFMail ------------------------------ ______________________________________________ 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.