我使用ProjectTemplate和Knitr来生成报告。大多数分析存储在src目录中,而报告包含演示文稿R markdown。
我希望主要文本仅包含分析结果,并且文档附录包含分析中的一些代码块。我发现实现这一目标的唯一方法如下:
首先,在文档主体中运行实际分析:
```{r runanalysis, warning=FALSE, message=FALSE}
# run the analysis code to generate the objects
source('../src/rf-model-caret.R')
```
其次,在附录中,需要两个编织块。第一个读取实际代码(并执行它)。第二个显示代码。
```{r analysis, eval=TRUE, echo=FALSE}
knitr::read_chunk('../src/rf-model-caret.R')
```
```{r analysis2, ref.label="analysis", eval=FALSE, echo=TRUE}
```
这可行,但效率非常低,因为:
有没有更好的方法来实现在主文档中执行外部源并在附录中打印代码的目标?
答案 0 :(得分:4)
你可以试试这个:
在主体中:
```{r runanalysis, code=readLines('../src/rf-model-caret.R'), echo=FALSE, eval=TRUE}
```
在附录中:
```{r runanalysis, code=readLines('../src/rf-model-caret.R'), echo=TRUE, eval=FALSE}
```