[R] strange algorithm needed

Mark.Leeds at MorganStanley.com Mark.Leeds at MorganStanley.com
Wed Nov 1 16:12:17 CET 2006


thanks to all for your replies. very neat.

On Wed, 1 Nov 2006, Gabor
Grothendieck wrote:

> Try:
>
> rep(1:3, length = 17)
>
> or
>
> as.numeric(gl(3, 1, 17))
>
> or
>
> y <- 1:17
> replace(y, TRUE, 1:3) # ignore warning
>
>
> On 11/1/06, Mark.Leeds at morganstanley.com <Mark.Leeds at morganstanley.com> wrote:
> >
> >
> > i need a strange algorithm that i can easily do in a loop but need
> > o do without looping.
> >
> > suppose i have a vector of length y filled with zeros and a number x.
> >
> > then, i want a new vector which is (1,......x,1......x,1.....x,1.....y mod
> > x )
> >
> > so if y was of length 17 and x was 3, the resultant vector should be
> >
> > (1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2)
> >
> > so basically , the algorithm should repeat seq(1,x) as many times as
> > needed to fill y but
> > then , if the last one doesn;'t fit perfectly, it should stop whenever it
> > hits the end of y ?
> >
> > rep(seq(1:x,length(y)/x) will work when there is a perfect fit but
> > it can't handle the non fit cases. it just cuts
> > off the non integer part of length(y)/x and then fills the vector
> > do that the resultant vector is less than the length of y.
> >
> > thanks.
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch 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