[R] How to generate a particular sequence ?
(Ted Harding)
Ted.Harding at manchester.ac.uk
Mon Sep 13 11:42:50 CEST 2010
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.Harding at manchester.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 13-Sep-10 Time: 10:42:46
------------------------------ XFMail ------------------------------
More information about the R-help
mailing list