我想知道是否可以挂钩到外部 R 脚本中的代码,该脚本由knitr
.
具体来说,假设您有以下 R 文件
test.R
## ---- CarPlot
library(ggplot2)
CarPlot <- ggplot() +
stat_summary(data = mtcars,
aes(x = factor(gear),
y = mpg
),
fun.y = "mean",
geom = "bar"
)
CarPlot
假设您想在多个报告中使用此图表,但在其中一个报告中您希望图表有标题,而在另一个报告中您没有。
理想情况下,我希望能够使用相同的外部 R 脚本来执行此操作,这样我就不必更改多个 R 文件,以防我决定更改图表的某些内容。
我认为这样做的一种方法可能是将fig.show
块选项设置为hold
——因为它将“保存所有图并在代码块的最后输出它们”——然后在图上附加一个标题,如下所示:
test.Rnw
\documentclass{article}
\begin{document}
<<external-code, cache=FALSE,echo=FALSE>>=
read_chunk('./test.R')
@
<<CarPlot,echo=FALSE,fig.show='hold'>>=
CarPlot <- CarPlot + ggtitle("Plot about cars")
@
\end{document}
但是,这不起作用。虽然打印了情节,但我尝试附加的标题没有显示出来。
有什么方法可以做我想做的事吗?