[R] Show Progress in loop

Uwe Ligges ligges at statistik.uni-dortmund.de
Mon Oct 10 11:09:55 CEST 2005


Rainer M. Krug wrote:

> Hi
> 
> I have a loop which is doing time consuming calculations and I would 
> like to be able to have some feedback on where it is in it's 
> calculations. I tried to simply show the counter variable in the loop, 
> but id doesn't work as all display seems to be delayed until the loop is 
> completed. Is there any way of displaying the progress of a loop?
> 
> Rainer
> 
> The loop:
> 
> for (i in 2:Result$NoSims)
> {
> 	ppp <- runifpoint(Result$NoPlants)
> 	K <- Kest(ppp)
> 	Result$LSim[i,] <- sqrt(K$iso / pi) - K$r
> 	CM <- (Result$LSim[i,] * Result$LSim[i,]) / abs(K$r[2] - K$r[1])
> 	Result$SigCM[i] <- sum(CM, na.rm=TRUE)
> 	i  #<========================Doesn't display in the loop
> }
> 


- Update your console (I guess you are on Windows?) by using 
flush.console().
- You might want to measure time consumption, hence see ?Rprof.
- Save some more time by moving as much as possible out of your loop by 
doing it in a vectorized way (I don't know all the functions you are 
using, hence cannot make any further recommendations).

Uwe Ligges




More information about the R-help mailing list