[R] A more idiomatic way to write this
Andrew Robinson
A.Robinson at ms.unimelb.edu.au
Mon Feb 25 02:48:47 CET 2008
How about
x <- x / rep(divs, rep(1000, 1000))
?
Cheers,
Andrew
On Sun, Feb 24, 2008 at 10:36:23PM -0300, Andre Nathan wrote:
> 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
>
> ______________________________________________
> R-help at 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.
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
--
Andrew Robinson
Department of Mathematics and Statistics Tel: +61-3-8344-6410
University of Melbourne, VIC 3010 Australia Fax: +61-3-8344-4599
http://www.ms.unimelb.edu.au/~andrewpr
http://blogs.mbs.edu/fishing-in-the-bay/
More information about the R-help
mailing list