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 -- Feng Li Department of Statistics Stockholm University 106 91 Stockholm, Sweden http://feng.li/ [[alternative HTML version deleted]]
On 09/13/2010 07:19 PM, 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! >Hi Feng, I would take a quick look at the help for "rep" and "c", but I would first suggest that you count the number of times that the elements are to be repeated. While you have made the definition of the problem reasonably clear with your example, there are an awful lot of combinations of "every two elements" of a, whether you want to repeat them two or three times. Jim
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! > > FengA 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 ------------------------------