Learn R Programming

utils (version 3.6.2)

txtProgressBar: Text Progress Bar

Description

Text progress bar in the R console.

Usage

txtProgressBar(min = 0, max = 1, initial = 0, char = "=",
               width = NA, title, label, style = 1, file = "")

getTxtProgressBar(pb) setTxtProgressBar(pb, value, title = NULL, label = NULL) # S3 method for txtProgressBar close(con, …)

Arguments

min, max

(finite) numeric values for the extremes of the progress bar. Must have min < max.

initial, value

initial or new value for the progress bar. See ‘Details’ for what happens with invalid values.

char

the character (or character string) to form the progress bar.

width

the width of the progress bar, as a multiple of the width of char. If NA, the default, the number of characters is that which fits into getOption("width").

style

the ‘style’ of the bar -- see ‘Details’.

file

an open connection object or "" which indicates the console: stderr() might be useful here.

pb, con

an object of class "txtProgressBar".

title, label

ignored, for compatibility with other progress bars.

for consistency with the generic.

Value

For txtProgressBar an object of class "txtProgressBar".

For getTxtProgressBar and setTxtProgressBar, a length-one numeric vector giving the previous value (invisibly for setTxtProgressBar).

Details

txtProgressBar will display a progress bar on the R console (or a connection) via a text representation.

setTxtProgessBar will update the value. Missing (NA) and out-of-range values of value will be (silently) ignored. (Such values of initial cause the progress bar not to be displayed until a valid value is set.)

The progress bar should be closed when finished with: this outputs the final newline character.

style = 1 and style = 2 just shows a line of char. They differ in that style = 2 redraws the line each time, which is useful if other code might be writing to the R console. style = 3 marks the end of the range by | and gives a percentage to the right of the bar.

See Also

winProgressBar (Windows only), tkProgressBar (Unix-alike platforms).

Examples

Run this code
# NOT RUN {
 # slow
testit <- function(x = sort(runif(20)), ...)
{
    pb <- txtProgressBar(...)
    for(i in c(0, x, 1)) {Sys.sleep(0.5); setTxtProgressBar(pb, i)}
    Sys.sleep(1)
    close(pb)
}
testit()
testit(runif(10))
testit(style = 3)
# }

Run the code above in your browser using DataLab