txtProgressBar
Text Progress Bar
Text progress bar in the R console.
- Keywords
- utilities
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
. IfNA
, the default, the number of characters is that which fits intogetOption("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.
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 close
d 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.
Value
For txtProgressBar
an object of class "txtProgressBar"
.
For getTxtProgressBar
and setTxtProgressBar
, a
length-one numeric vector giving the previous value (invisibly for
setTxtProgressBar
).
Note
Using style
2 or 3 or reducing the value with style = 1
uses \r to return to the left margin -- the interpretation of
carriage return is up to the terminal or console in which R is
running, and this is liable to produce ugly output on a connection
other than a terminal, including when stdout()
is
redirected to a file.
See Also
winProgressBar
(Windows only),
tkProgressBar
(Unix-alike platforms).
Examples
library(utils)
# 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)
# }