我正在knitr用来生成报告.但是,我经常首先准备包含所有情节的"内部"文件,然后对于最终报告或纸张只想包含一些数字.
说,我有一套系统生成的数字,说我循环我的标本:
<<sample, fig.keep = 'all'>>=
specimen <- c("436a", "783a", "10b")
for (s in specimen) # in reality it would e.g. be levels (specimen)
plot (results [s])
@
Run Code Online (Sandbox Code Playgroud)
这将产生许多文件figures/sample1.pdf,figures/sample2.pdf等等.虽然编号为1,2,...对于针织生成的报告是好的,如果我想在纸张中包含其中一个图表,那么它很麻烦并且容易出错找出哪个.pdf属于哪个样本.
如何判断knitr使用文件名"figures/sample-436a.pdf"?
我尝试过<<fig.path = sprintf ("figures/sample-%s", s)>>=,但这不起作用:s未知,所以我猜fig.path是在块处理开始时评估,而不是在保存块时.
PS:减少错误风险的一个显而易见的方法是标题,但这是恕我直言,在纸上丑陋.
好问题.不确定这是否是一个令人满意的答案:
\documentclass{article}
\begin{document}
<<prepare-src, include=FALSE>>=
s = names(iris)[-5]
# construct the source document
src = sprintf('<<sample-%s>>=
hist(iris[,"%s"], col="gray", border="white")
@', s, s)
@
% evaluate the source
\Sexpr{knit(text = src)}
\end{document}
Run Code Online (Sandbox Code Playgroud)
在您的情况下,您只需要决定要进入哪个样本s.
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |