gpt4 book ai didi

r - 在 knitr 中执行外部源并打印外部代码块

转载 作者:行者123 更新时间:2023-12-04 11:29:42 25 4
gpt4 key购买 nike

我使用 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')
```

其次,在附录中,需要两个 knitr block 。第一个读入实际代码(并执行它)。第二个显示代码。

```{r analysis,  eval=TRUE, echo=FALSE}
knitr::read_chunk('../src/rf-model-caret.R')
```

```{r analysis2, ref.label="analysis", eval=FALSE, echo=TRUE}
```

这可行但看起来效率很低,因为:

  • 分析必须运行两次 - 第一次是在主文档的源代码中,第二次是为了生成代码而在附录中。
  • 读取一个 knitr block 然后立即再次引用它以显示代码

有没有更好的方法来实现在主文档中执行外部源代码并在附录中打印代码的目的?

最佳答案

你可以试试这个:

在正文中:

```{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}
```

关于r - 在 knitr 中执行外部源并打印外部代码块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38818492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com