[Rd] Feature request: txtProgressBar with ability to write to arbitrary stream

From: Andreas Borg <andreas.borg_at_unimedizin-mainz.de>
Date: Tue, 15 Mar 2011 11:37:21 +0100


Hi all,

I use txtProgressBar to monitor progress of large computations. What I miss is the ability to redirect the progress bar to a stream other than stdout, specifically to the message stream. This would be useful for running Sweave scripts: When redirected to stderr, the bar could be visible even though console output is diverted to the output file (and there would be no cluttering of the generated latex).

I'd suggest the following changes to txtProgressBar: - a new argument 'file' (compare to 'cat') which defaults to stderr() (there might be reasons to use stdout(), but I believe a progress bar is mostly intended as a diagnostic tool and not for console output, which is printed or saved in some cases).
- the calls to 'cat' that update the progress bar get 'file = file' as additional argument so that output is redirected as desired.

In case anyone from the core team is willing to incorparate this idea, I attached the patch file for the necessary changes below.

Best regards,

Andreas

3c3
< width = NA, title, label, style = 1)
---

 > width = NA, title, label, style = 1, file=stderr()) 23c23
< cat(paste(rep.int(char, nb-.nb), collapse=""))
---

 > cat(paste(rep.int(char, nb-.nb), collapse=""), file = file) 27c27

<                 "\r", paste(rep.int(char, nb), collapse=""), sep = "")

---
> "\r", paste(rep.int(char, nb), collapse=""), sep =
"", file = file)
38c38
< cat("\r", paste(rep.int(char, nb), collapse=""), sep = "")
---

 > cat("\r", paste(rep.int(char, nb), collapse=""), sep = "", file = file)
42c42
<                 "\r", paste(rep.int(char, nb), collapse=""), sep = "")

---
> "\r", paste(rep.int(char, nb), collapse=""), sep =
"", file = file)
54c54
< cat(paste(c("\r |", rep.int(" ", nw*width+6)), collapse=""))
---

 > cat(paste(c("\r |", rep.int(" ", nw*width+6)), collapse=""), file = file)
59c59
<                     ), collapse=""))

---
> ), collapse=""), file = file) 68c68 < cat("\n")
---
> cat("\n", file = file)
-- 
Andreas Borg
Medizinische Informatik

UNIVERSITÄTSMEDIZIN
der Johannes Gutenberg-Universität
Institut für Medizinische Biometrie, Epidemiologie und Informatik
Obere Zahlbacher Straße 69, 55131 Mainz
www.imbei.uni-mainz.de

Telefon +49 (0) 6131 175062
E-Mail: borg_at_imbei.uni-mainz.de

Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der
richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den
Absender und löschen Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe
dieser Mail und der darin enthaltenen Informationen ist nicht gestattet.

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Tue 15 Mar 2011 - 10:40:14 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 16 Mar 2011 - 02:00:31 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive