[R] Odp: optimizing speed of calculation (recursive product)
Petr PIKAL
petr.pikal at precheza.cz
Wed Sep 3 17:32:55 CEST 2008
Hi
r-help-bounces at r-project.org napsal dne 03.09.2008 16:39:07:
> Dear list,
> I'm wondering how to optimize functions/processes like the one shown
> below (which simplifies something we're trying to do with very large
> datasets).
> In many cases I've noticed that using apply, sapply etc can help
> speeding up processes, but in this case I don't see how I could do so.
>
> a <- runif(10000000,0.5,1.6)
> C <- 2
> M <- 10000000
> system.time( for (i in 1:(M-1)) {C <- C* c(a[i],a[i+1])} )
Maybe simple math? You want last two members of 2*cumprod(a).
So
> system.time(2*cumprod(a)[9999999:10000000])
user system elapsed
1.97 0.04 2.00
>
shall be a little bit quicker then for cycle. But it is valid only for the
above calculation.
Regards
Petr
>
>
> By the way, I'm using R-2.7.2 on Win XP and/or Fedora Linux.
>
> Thank's in advance for any hints,
> Wolfgang Raffelsberger
>
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> Wolfgang Raffelsberger, PhD
> Laboratoire de BioInformatique et Génomique Intégratives
> CNRS UMR7104, IGBMC
> 1 rue Laurent Fries, 67404 Illkirch Strasbourg, France
>
> ______________________________________________
> 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.
More information about the R-help
mailing list