是否可以在不打印所有图表等的情况下获取文件(已经尝试过echo = F)?
在我的情况下,我在脚本的早期调用了png(“filename%03d.png”)设备。对此进行评论并不是一件容易的事 - 但所有图表都需要花费大量时间来渲染。 (我正在使用的特定文件现在使用基本图形 - 但主要是我将使用ggplot2 - 这使得问题更重要(ggplot2非常好,但在当前实现中并不是最快))
由于
答案 0 :(得分:3)
ggplot2或格子图形不是问题 - 在非交互式设置中调用它们时(例如在脚本中),您必须明确print
。
答案 1 :(得分:2)
编码R的良好实践意味着尽可能多地将代码包装到函数中。 (参见,例如,R Inferno的第5章,pdf。)如果将绘图代码放在函数中,则在获取它时不需要显示它。比较以下内容。
文件foo.r包含
plot(1:10)
当您致电source('foo.r')
时,会显示情节。
文件栏.r包含
bar <- function() plot(1:20)
当您致电source('bar.r')
时,情节不会显示。您可以在命令提示符下键入bar()
,方便地显示它。
答案 2 :(得分:1)
也许这可能会有所帮助...
“提供空图形设备的软件包;包括一个小插图”devNull“,用于记录如何将新图形设备创建为附加软件包。”
答案 3 :(得分:0)
这不是最好的声音解决方案,但如果您可能经常像这样运行此脚本,您可以声明一个布尔值是否需要图形(graphics_required = TRUE)然后将所有绘图命令包含在if / then子句中你的布尔值,然后只需更改布尔值来改变脚本的行为