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.

Reply via email to