On 05-Mar-10 06:04:51, kensuguro wrote: > > I'm just beginning R, with book Using R for Introductory Statistics, > and one of the early questions has me baffled. The question is, > create the sequence: 1,2,3,4,5,4,3,2,1 using seq() and rep(). > > Now, as a programmer, I am punching myself to not be able to figure > it out.. > I mean, as simple as a for loop, but using seq, I am stumped. > I would think c(1:5, 4:1) would be the brute force method with very > non intelligent coding.. there has to be a way to make the "turning > point" (in this case 5) parametric right? So you could change it > later and the sequence will reflect it. > -- > View this message in context: > http://n4.nabble.com/how-to-make-this-sequence-1-2-3-4-5-4-3-2-1-tp15792 > 45p1579245.html > Sent from the R help mailing list archive at Nabble.com.
You can indeed do it using seq(), and with rep() plus a little help from something else: seq(): c(seq(1,5,1),seq(4,1,-1)) rep(): cumsum(c(rep(1,5),rep(-1,4))) Parametrised "1,2,...,n,(n-1),...,2,1": updown1 <- function(n){ c(seq(1,n,1),seq((n-1),1,-1)) } updown2 <- function(n){ cumsum(c(rep(1,n),rep(-1,(n-1)))) } updown1(10) # [1] 1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 updown2(10) # [1] 1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <ted.hard...@manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861 Date: 05-Mar-10 Time: 08:14:53 ------------------------------ 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.