使用 knit_expand() 从模板中提取 R 代码

extract R code from template using knit_expand()

我使用 knitr 生成了一个动态文档。该文件使 广泛使用包的 knit_expand() 功能 模板。 MWE(基于 Yihui Xie 自己的 example 为函数)。

我现在需要提取相应的R代码。 运行 purl("knit-expand-MWE.Rnw") 输出 knit-expand-MWE.R,其中包含块中的代码以及对模板的引用:

## ----run-all, include=FALSE----------------------------------------------
library(knitr)
src = NULL
for (i in 1:3) src = c(src, knit_expand('template.Rnw'))

我想要的是对应的"expanded"代码(方便不用knitr的同事),例如:

## ----row-1, eval=TRUE----------------------------------------------
## row number 1
iris[1, ]

## ----row-2, eval=TRUE----------------------------------------------
## row number 2
iris[2, ]

## ----row-3, eval=FALSE----------------------------------------------
## row number 3
iris[3, ]

我怎样才能做到这一点?

您可以在 src 上 运行 purl(),例如。 g.

purl(text = src, output = 'knit-expand.R')