Как установить различные глобальные параметры в файле knitr RMD

Я хочу исключить много фрагментов кода в моем файле RMD, и у меня была идея установить глобальные параметры с помощью eval = FALSE до и потом eval = TRUE после этого. Но это не работает.

Вот игрушечный пример:

---
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, eval = FALSE)
```
## will not be executed because global option `eval = FALSE`
```{r}
x+y
```

```{r setup II, include=FALSE}
knitr::opts_chunk$set(eval = TRUE, echo = TRUE)
```
## Should give `2` in final document, because eval = TRUE
## NOT working as expected
```{r}
1+1
```

## This is working as expected
```{r, eval = TRUE}
1+1
```

Вот результат:

Это ошибка или особенность? На мой взгляд, это работает нелогично...

1 ответ

Решение

Это не ошибка или особенность, но ожидается. Ты устанавливаешь eval = FALSE в первом фрагменте кода, что означает, что второй фрагмент кода не будет оцениваться, следовательно knitr::opts_chunk$set(eval = TRUE, echo = TRUE) не был выполнен вообще. затем eval все еще FALSE для третьего куска кода.

Вам нужно установить eval = TRUE на втором фрагменте кода:

```{r setup II, include=FALSE, eval=TRUE}
knitr::opts_chunk$set(eval = TRUE, echo = TRUE)
```
Другие вопросы по тегам