如何在没有输出的情况下获取file.R

时间:2009-09-13 09:10:08

标签: r

是否可以在不打印所有图表等的情况下获取文件(已经尝试过echo = F)?

在我的情况下,我在脚本的早期调用了png(“filename%03d.png”)设备。对此进行评论并不是一件容易的事 - 但所有图表都需要花费大量时间来渲染。 (我正在使用的特定文件现在使用基本图形 - 但主要是我将使用ggplot2 - 这使得问题更重要(ggplot2非常好,但在当前实现中并不是最快))

由于

4 个答案:

答案 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“,用于记录如何将新图形设备创建为附加软件包。”

来自http://developer.r-project.org/

答案 3 :(得分:0)

这不是最好的声音解决方案,但如果您可能经常像这样运行此脚本,您可以声明一个布尔值是否需要图形(graphics_required = TRUE)然后将所有绘图命令包含在if / then子句中你的布尔值,然后只需更改布尔值来改变脚本的行为