【发布时间】:2010-11-27 21:14:40
【问题描述】:
是否可以在不打印所有图表等的情况下获取文件(已经尝试使用 echo=F)?
在我的例子中,我在脚本的早期调用了 png("filename%03d.png") 设备。评论这一点并不麻烦 - 但所有图表确实需要大量时间来呈现。 (我正在使用的特定文件现在使用基本图形 - 但大多数情况下我将使用 ggplot2 - 这使得问题更加重要(ggplot2 非常好,但在当前实现中不是最快的))
谢谢
【问题讨论】:
标签: r
是否可以在不打印所有图表等的情况下获取文件(已经尝试使用 echo=F)?
在我的例子中,我在脚本的早期调用了 png("filename%03d.png") 设备。评论这一点并不麻烦 - 但所有图表确实需要大量时间来呈现。 (我正在使用的特定文件现在使用基本图形 - 但大多数情况下我将使用 ggplot2 - 这使得问题更加重要(ggplot2 非常好,但在当前实现中不是最快的))
谢谢
【问题讨论】:
标签: r
这不是最好的解决方案,但如果您可能经常像这样运行此脚本,您可以声明一个布尔值是否需要图形 (graphics_required=TRUE),然后将所有绘图命令包含在 if/then 子句中您的布尔值,然后只需更改布尔值即可更改脚本的行为
【讨论】:
对于 ggplot2 或 lattice 图形来说,这不是问题 - 当在非交互式设置中(例如在脚本中)调用它们时,您总是必须明确地 print 它们。
【讨论】:
【讨论】:
编码 R 的良好实践意味着将尽可能多的代码包装到函数中。 (例如,参见R Inferno pdf 的第 5 章。)如果将绘图代码放在函数中,则在获取它时不需要显示它。比较以下。
文件 foo.r 包含
plot(1:10)
当您调用source('foo.r') 时,会显示该图。
文件 bar.r 包含
bar <- function() plot(1:20)
当您调用source('bar.r') 时,不会显示该图。您可以在命令提示符下键入bar() 来方便地显示它。
【讨论】: