在.Rmd文件中,使用knitr有条件地评估标题

7

使用R Markdown和knitr,是否可以有条件地评估代码块及其关联标题?例如,如果eval_cellTRUE,则包括代码块及其标题,但如果eval_cellFALSE,则不包括它们。

```{r}
eval_cell = TRUE
```

# Heading (would like to eval only if eval_cell is TRUE)
```{r eval = eval_cell}
summary(cars)
```

如果不被支持的话,首先使用<% ... %>标签来brew文档,或者尝试一下我的pander包 - daroczig
1个回答

9

你可以将标题放在内联R表达式中:

```{r}
eval_cell = TRUE
```

`r if (eval_cell) '# Heading (would like to eval only if eval_cell is TRUE)'`

```{r eval = eval_cell}
summary(cars)
```

如果您需要有大量的需要有条件地包含的文本/代码块,那么将它们放在一个单独的子文档中会变得很麻烦,此时建议将它们放在一个名为child.Rmd的单独子文档中:

# Heading (would like to eval only if eval_cell is TRUE)
```{r}
summary(cars)
```

然后在原始(父级)文档中,您只需要:
```{r}
eval_cell = TRUE
```

```{r child='child.Rmd', eval=eval_cell}
```

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接