Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to be alerted about the ongoing progress of a loop/lapply

Tags:

loops

r

In R, I will sometimes have a long for loop or lapply that I want to know the ongoing progress of.

Something like the following is in the spirit of what I want but doesn't work:

lapply(1:n,function(i) { print(i); MAIN COMPUTATIONS })

Ideally the above would print i at the beginning of each new iteration of the lapply.

QUESTION: How do I get ongoing progress updates of how many iterations my lapply or for loop has done?

like image 491
Jase Avatar asked Dec 12 '12 03:12

Jase


1 Answers

It sounds like you're using RGui on Windows. There should be an option in one of the menus to tell it to not buffer the output. Alternatively you could call flush.console after every time you print.

lapply(1:1000, function(i){print(i); flush.console()})

Note that this will slow down the code a little bit.

like image 188
Dason Avatar answered Sep 21 '22 11:09

Dason