在 Rmarkdown 文件中包含带有 markdown 标签的 R 脚本作为外部文件

Include R script with markdown tags as external file in Rmarkdown file

假设我有一个带有 markdown 标签的 .R 文件 tmp.R,例如

#' # header    
5+1

我想将其作为外部源包含到(更大的).Rmd 文件中。 R 代码和 markdown 标签应该像直接渲染一样被评估。我该怎么做?

---
title: "Untitled"
output: html_document
---

我试过几个选项,包括

```{r, results='asis'}
source("tmp.R")
```

```{r, results='asis'}
knitr::spin("tmp.R')
```

和其他几个人。不幸的是我没有在 Whosebug 上找到解决方案,包括 this, this, this, this or this 问题。

您需要在 temp.R 文件中编写代码,以便可以直接在块中对其进行计算。

因此 tmp.R 使用:

cat("# header \n\n")
cat(4+3)

然后您可以将其包含在 R-Markdown 文件中:

```{r, results='asis'}
source("tmp.R")
```

我不太确定我是否理解你的问题,但在我看来你正在寻找 knitr::spin_child(),它将 R 脚本转换为 Rmd 并将其编织为子文档:

```{r}
knitr::spin_child('tmp.R')
```