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

Greg Snow Greg.Snow at imail.org
Tue Mar 15 20:18:42 CET 2011


You could use winProgressBar (windows only) or TkProgressBar (tcltk package required) instead, then nothing is output to the console/standard out but you still have a visual of your progress.

-- 
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org
801.408.8111


> -----Original Message-----
> From: r-devel-bounces at r-project.org [mailto:r-devel-bounces at r-
> project.org] On Behalf Of Andreas Borg
> Sent: Tuesday, March 15, 2011 4:37 AM
> To: R-devel at r-project.org
> Subject: [Rd] Feature request: txtProgressBar with ability to write to
> arbitrary stream
> 
> 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



More information about the R-devel mailing list