使用 knitr 创建 HTML 个幻灯片和单独的 R 代码文件

Using knitr to create HTML slides and separate R code file

从这个 question 开始......如果我想输出一个单独的 R 代码文件,我不确定在哪里设置 knitr 选项。以下未在我的工作目录中提供预期的附加 .R 文件。

---
output: ioslides_presentation
---

```{r setup, include=FALSE}
library("knitr"); purl("myfile.rmd")
#library("knitr"); knit("test_tangle.Rmd", tangle = TRUE)
#opts_knit$set(tangle=TRUE)
```

## Slide with Plot
```{r, echo=TRUE}
plot(cars)
```

但是一条错误消息...

Quitting from lines 6-7 (myfile.rmd) 
Error in readLines(if (is.character(input2)) { : 
  cannot open the connection
Calls: <Anonymous> ... withVisible -> eval -> eval -> purl -> knit ->     readLines
Execution halted

我建议您改用 hook_purl 函数。函数purl()(或者等价的,knit(tangle = TRUE))在某些情况下可能会失效,钩子函数hook_purl()更可靠。有关详细信息,请参阅 ?hook_purl

---
output: ioslides_presentation
---

```{r setup, include=FALSE}
library("knitr")
knit_hooks$set(purl = hook_purl)
```

## Slide with Plot
```{r, echo=TRUE}
plot(cars)
```

然后在编写文档时,R 脚本将自动生成。