我在linux(LMDE)上。
我有这个脚本,可以用经典图形和 ggplot 绘制许多东西。有时我也会调用pdf()
or png()
,但有时我只是让默认的 grDevice 弹出并为我显示(RStudioGD 或 x11())
问题是,当我使用不同的用户(在我的例子中是 apache www-data)从 Rscript 执行这个脚本时,当我没有预加载任何其他设备时,它可能会引发权限问题,特别是对于默认设备。(例如Error in (function (file = ifelse(onefile, "Rplots.pdf", "Rplot%03d.pdf"), :
cannot open file 'Rplots.pdf'
Calls: source ... barplot -> barplot.default -> dev.hold ->
:)
我希望能够在脚本的开头(和结尾)仅通过一两行来丢弃任何这些图(甚至所有图)。nullDevice()
/ script /之类的东西dev.off()
将确保至少将默认图形通过管道传输到无害的东西。
任何想法 ?