[R] Slow computation in for loop

Liaw, Andy andy_liaw at merck.com
Wed May 28 14:08:06 CEST 2003


I don't know if this will help you or not, but might worth a try.  You can
replace the two inner for loops with nested calls to sapply().  For example:

> sapply(1:5, function(x) sapply(6:10, function(y) x+y))
     [,1] [,2] [,3] [,4] [,5]
[1,]    7    8    9   10   11
[2,]    8    9   10   11   12
[3,]    9   10   11   12   13
[4,]   10   11   12   13   14
[5,]   11   12   13   14   15

Using sapply() this way is a sneaky way of avoiding explicit for loops, but
whether it actually saves resources, you have to try and see.

HTH,
Andy


> -----Original Message-----
> From: Yves Brostaux [mailto:brostaux.y at fsagx.ac.be]
> Sent: Wednesday, May 28, 2003 4:30 AM
> To: r-help at stat.math.ethz.ch
> Subject: [R] Slow computation in for loop
> 
> 
> Dear members,
> 
> I'm using R to do some test computation on a set of parameters of a 
> function. This function is included in three for() loops, 
> first one for 
> replications, and the remaining two cycling through possible 
> parameters 
> values, like this :
> 
> for (k in replicates) {
>    data <- sampling from a population
>    for (i in param1) {
>      for (j in param2) {
>         result <- function(i, j, data)
>      }
>    }
> }
> 
> With the 'hardest' set of parameters, a single computation of 
> the function 
> take about 16s on an old Sun Sparc workstation with 64 Mb RAM 
> and don't 
> access a single time to disk.
> 
> But when I launch the for() loops (which generate 220 
> function calls), disk 
> gets very sollicitated and the whole process takes as much as 8 to 10 
> hours, instead of the expected 1 hour.
> 
> What's wrong here ? Is there a thing I don't know about for() 
> loops, and a 
> way to correct it ?
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> 

------------------------------------------------------------------------------
Notice: This e-mail message, together with any attachments, cont... {{dropped}}




More information about the R-help mailing list