Maybe something like this: f1 with loop, f2 without.
f1 <- function(start,len, div) { x <- rep(start,len) for (i in 2 : (len-1)) { x[i] <- x[i-1]/div } x[len] <- 0 return(x) } f2 <- function(start,len, div) { x <- rep(start,len) y <- div^(0:(len-1)) x <- x/y x[length(x)] <- 0 return(x) } system.time(f1(10000,100000,0.5)) system.time(f2(10000,100000,0.5)) Best regards Bart Anne-Marie Ternes wrote: > > Hi, > > if given the value of, say, 15000, I would like to be able to divide > that value recursively by, say, 5, and to get a vector of a determined > length, say 9, the last value being (set to) zero- i.e. like this: > > 15000 3000 600 120 24 4.8 0.96 0.192 0 > > These are in fact concentration values from an experiment. For my > script, I get only the starting value (here 15000), and the factor by > which concentration is divided for each well, the last one having, by > definition, no antagonist at all. > > I have tried to use "seq", but it can "only" do positive or negative > increment. I didn't either find a way with "rep", "sweep" etc. These > function normally start from an existing vector, which is not the case > here, I have only got a single value to start with. > > I suppose I could do something "loopy", but I'm sure there is a better > way to do it. > > Thanks a lot for your help, hope the question is not too dumb... > > Anne-Marie > > ______________________________________________ > 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. > > -- View this message in context: http://www.nabble.com/recursively-divide-a-value-to-get-a-sequence-tp18358046p18358674.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.