Progress Bar for Simulations
Depending on prevailing options(showprogress=)
and availability
of the tcltk
package, sets up a progress bar and creates a
function for simple updating of the bar as iterations progress. Setting
options(showprogressbar=FALSE)
or
options(showprogressbar='none')
results in no progress being
shown. Setting the option to something other than "tk"
or
"none"
results in the console being used to show the current
iteration number and intended number of iterations, the same as if
tcltk
is not installed. It is not recommended that the
"tk"
be used for simulations requiring fewer than 10 seconds for
more than 100 iterations, as the time required to update the pop-up
window will be more than the time required to do the simulations. This
problem can be solved by specifying, for example, every=10
to
setPb
or to the function created by setPb
, or by using
options(showevery=10)
before setPb
is called. If
options(showprogress=)
is not specified, progress is shown in the
console with an iteration counter.
setPb(n, type = c("Monte Carlo Simulation", "Bootstrap", "Cross-Validation"), label, usetk = TRUE, onlytk=FALSE, every=1)
n |
maximum number of iterations |
type |
type of simulation. Used for the progress bar title if
|
label |
used to customize the bar label if present, overriding |
usetk |
set to |
onlytk |
set to |
every |
print a message for every |
a function that should be called by the user once per iteration, specifying the iteration number as the sole argument
Frank Harrell
## Not run: options(showprogress=TRUE) # same as ='tk' pb <- setPb(1000) for(i in 1:1000) { pb(i) # pb(i, every=10) to only show for multiples of 10 # your calculations } # Force rms functions to do simulations to not report progress options(showprogress='none') # For functions that do simulations to use the console instead of pop-up # Even with tcltk is installed options(showprogress='console') pb <- setPb(1000, label='Random Sampling') ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.