1

我对 knitr 包有点迷茫。我喜欢 spin() 函数,它可以快速为我提供分析的全局视图,但我需要将一些非常重要的图保存在单独的 pdf 中(例如,我的文件的第 8 个图应保存为“Figure1.pdf”并显示在报告中)。

当我写:

Some random code and plots...

pdf('Figure1.pdf')
plot(important plot)
dev.off()

Some random code and plots

自旋()之后,重要的情节不会显示在报告中,我想在报告和 pdf 中。

有什么办法吗?

谢谢

4

2 回答 2

5

spin()保存所有绘图,尽管默认情况下它以 PNG 格式保存绘图,因为参数spin(..., format = 'Rmd')(R Markdown 使用 PNG 设备)。

您也可以在 R 脚本中指定块选项:只需使用#+or #-,例如

#' Some random code and plots...

#+ Figure1, fig.path='', dev=c('png', 'pdf')
plot(important plot)

#' Some random code and plots

请注意dev,如@baptiste 所述,该选项采用设备向量。

或者你使用 Rnw 格式,例如(你不需要指定dev

spin(..., format = 'Rnw')

在这种情况下,输出将是 LaTeX/PDF 而不是 HTML。

于 2013-07-25T03:59:27.123 回答
0

如果我理解了这个问题,在关闭设备后重复绘图语句就可以了,而不会在报告中产生重复:

Some random code and plots...

pdf('Figure1.pdf')
plot(important plot)
dev.off()
plot(important plot)

Some random code and plots
于 2013-09-12T04:59:54.327 回答