【发布时间】:2015-05-11 20:02:27
【问题描述】:
我想将 R 会话中生成的每个绘图和相关代码自动保存在特定目录中。
我注意到 RStudio 将每个图都存储在一个临时文件中(Linux 中的 /tmp/Rtmp*/*.png)。因此,当我关闭 R 时,我的 .Last 函数将所有这些文件复制到保存目录中。但是,我还想在一些 *.Rhistory 文件中复制相关代码(即〜最后 10 行)和这些图(使用 savehistory功能)。该目录将包含以下内容:
- plot1.png
- .plot1.Rhistory
- plot2.png
- .plot2.Rhistory
- ...
对我有帮助的第一件事是了解 Rstudio 绘图功能的工作原理,但我没有找到来源。我假设它使用 dev.copy() 作为 dev.list() 输出是:
plot(0)
dev.list()
> RStudioGD png
2 3
你有什么想法吗?
编辑:查看 rstudio 源,我在 Tools.R 文件中发现了一个 saveGraphicsSnapshot 函数,但我仍然不明白它是如何工作的......
【问题讨论】:
-
你为什么需要这个?想不出任何用例。
-
我过去常常从大量数据库中绘制大量图表,但我经常忘记与这些图表相关的确切代码 :) 因此,我的想法是在某些日子里保留我在 R 中的工作的备份跨度>