[R] Alternating numbers in rep()
Greg Snow
Greg.Snow at imail.org
Thu Jan 24 21:32:45 CET 2008
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
greg.snow at imail.org
(801) 408-8111
> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of David Afshartous
> Sent: Thursday, January 24, 2008 1:03 PM
> To: r-help at 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 at 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.
>
More information about the R-help
mailing list