On 22/07/2020 5:40 p.m., Helmut Schütz wrote:
Duncan Murdoch wrote on 2020-07-22 21:42:
On 22/07/2020 1:25 p.m., Helmut Schütz wrote:
[...]
The problem is that I cannot reproduce it as well. Only CHECK laments
about dev.off() which I changed to graphics.off() in the meantime.
library(grDevices)
foo <- TRUE # shall we plot?
png.path <- "~/" # user's home folder
png.path <- normalizePath(png.path)
if (foo) {
png(paste0(png.path, "test.png"), width = 480, height = 480,
pointsize = 12)
}
plot(x = 0:1, y = 0:1, type = "l", xlab = "x", ylab = "y")
if (foo) {
graphics.off()
}
You don't test whether the call to png() succeeded.
Correct. However,
if (file.exists(paste0(png.path, "test.png"))) graphics.off()
worked in the example but not in the package...
During a check, it probably wouldn't, because you aren't allowed to
write to "~/". Your package should be writing to tempdir(), or a
location entered by the user.
The user is asked to provide a certain path indeed. Only if none is
provided, the fallback is "~/" (which is always writable).
That disqualifies your package from inclusion on CRAN. If no
destination is provided and tempdir() isn't acceptable, you shouldn't
write anything. The user may be keeping an irreplaceable piece of
information in "~/test.png", and your package would destroy it. It's
not your decision to make to trespass on the user's file space.
Duncan Murdoch
The package
is intended for "common" users and not "R-geeks". If I would write to
tempdir(), I guess chances are pretty low that a user will be able to
locate the file.
What I still fail to understand: CHECK laments about
grDevices::dev.off() in a certain man page, where I removed the argument
foo completely in one example (which is within \donttest{}). Hence, the
entire plotting routine is not executed at all. Furthermore, dev.off()
is nowhere used, only graphics.off() - now after file.exists().
Regards,
Helmut
--
Ing. Helmut Schütz
BEBAC – Consultancy Services for
Bioequivalence and Bioavailability Studies
Neubaugasse 36/11
1070 Vienna, Austria
ehelmut.schu...@bebac.at
Whttps://bebac.at/
Fhttps://forum.bebac.at/
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel