[R] A more idiomatic way to write this

Andre Nathan andre at digirati.com.br
Mon Feb 25 02:36:23 CET 2008


Hello,

I have a vector of 1,000,000 numbers and another vector of 1,000
divisors. What I'd like to do is to divide the first 1,000 numbers of
the first vector by the first divisor, then the next 1,000 by the second
divisor and so on. I came up with this, but I was wondering if there is
a more idiomatic, R-like way to write it:

x <- ...
divs <- ...

for (i in seq(from = 1, to = 1000000, by = 1000)) {
  x[i:(i - 1 + 1000)] <- x[i:(i - 1 + 1000)] / divs[i %/% 1000 + 1]
}

Any suggestions are welcome.

Thanks in advance,
Andre



More information about the R-help mailing list