Hello,

Can anyone think of a non-iterative way to generate a decreasing geometric sequence in R?

For example, for a hypothetical function dg, I would like:

> dg(20)
[1] 20 10 5 2 1

where I am using integer division by 2 to get each subsequent value in the sequence.


There is of course:

dg <- function(x) {
  res <- integer()
  while(x >= 1) {
    res <- c(res, x)
    x <- x %/% 2
  }
  res
}

> dg(20)
[1] 20 10  5  2  1

This implementation of 'dg' uses an interative 'while' loop. I'm simply wondering if there is a way to vectorize this process?

Thanks,
Erik

______________________________________________
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.

Reply via email to