Как установить различные глобальные параметры в файле 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)
```