Here are a couple of options (I'm sure there are plenty of others) that replicate your results and can be extended without too much more typing (but some arithmatic):
> unname(unlist( rep( as.data.frame( matrix(1:4, nrow=2) ) , each=6 ) )) [1] 1 2 1 2 1 2 1 2 1 2 1 2 3 4 3 4 3 4 3 4 3 4 3 4 > c(aperm(array(rep( 1:4, 6), c(2,2,6)),c(1,3,2))) [1] 1 2 1 2 1 2 1 2 1 2 1 2 3 4 3 4 3 4 3 4 3 4 3 4 Hope this helps, -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare [EMAIL PROTECTED] (801) 408-8111 > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of David Afshartous > Sent: Thursday, January 24, 2008 1:03 PM > To: r-help@r-project.org > Subject: [R] Alternating numbers in rep() > > > All, > > I'm trying to obtain a one-liner to generate a certain > sequence of alternatign numbers. > > Consider: > > unlist(rep(list(c(1,2), c(3,4)), each = 6)) > [1] 1 2 1 2 1 2 1 2 1 2 1 2 3 4 3 4 3 4 3 4 3 4 3 4 > > I'd like the result to be as above but continue until 38. Of > course, I could hardcode this going up to c(37,38), but is > there a more elegant way? > > > Thanks! > David > > ______________________________________________ > 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. > ______________________________________________ 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.