On 2024-07-28 4:05 p.m., Josiah Parry wrote:
Thanks, Duncan!

Is there a way to override this using the command line arguments?

I assume you could do that using commandArgs() in the dev.new() call, but I don't use BATCH.

I'd like to be able to have a generalizable way to address this without having to modify R source code.

Take a look at the source to dev.new(). It tries various things, maybe one of those will suit you.

My understanding is that when there is a plot output, R CMD BATCH uses the PDF device which is a fair default.

However, there is not any use of `dev.new()` or `pdf()` called anywhere in the code.

Not explicitly, but if you try to call a plot function with no device active, the graphics system will call dev.new().

Duncan Murdoch


On Sun, Jul 28, 2024 at 3:44 PM Duncan Murdoch <murdoch.dun...@gmail.com <mailto:murdoch.dun...@gmail.com>> wrote:

    On 2024-07-28 1:48 p.m., Josiah Parry wrote:
     > Hey folks! I am working with R CMD BATCH and providing a providing a
     > logfile output e.g.
     >
     > R CMD BATCH main.R 2024-07-28.log
     >
     > This creates the desired log file with the contents of stdout and
    stderr.
     >
     > However, if plots are generated in the process, the plots are
    stored in
     > Rplots.pdf.
     >
     > Is there a way via command line arguments to change the name of
    the pdf
     > output.
     >
     > There might be multiple runs of this script and it would be ideal
    to store
     > the plot output independently.

    That's the default filename if you open a PDF device.  Open it
    explicitly and you can specify any file you like.

    That is,

        plot(rnorm(100))

    will call dev.new() which in a non-interactive session calls pdf().  If
    you specify

        dev.new(file = "something.pdf")
        plot(rnorm(100))

    the "file" argument will be ignored in an interactive session, but will
    be used in a non-interactive one.

    Duncan Murdoch



______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to