如何评估Rmarkdown中的所有块

时间:2016-01-12 23:14:09

标签: r rstudio r-markdown

如何评估Rmd文档中的所有块,而不是在每个块上放置eval = TRUE?我在下面的方式,只评估第一个块。

```{r,eval=TRUE}
1+1
```

Some text

```
2+2
```

修改

我正在尝试编织/编译为HTML。

```
require(knitr)
opts_chunk$set(eval = TRUE, tidy = TRUE, cache = FALSE, echo = FALSE, include = FALSE,
               fig.path = 'figures/', dev = c("pdf"),
               fig.width = 7, fig.height = 7)
```
some text

```
1+1
```
more text
```
2+2
```

2 个答案:

答案 0 :(得分:4)

eval=TRUE是.Rmd块的默认行为,因此您不需要将其显式添加到块的选项中。

但是,需要在打开围栏后包含{r},以便将块识别为R代码并进行相应评估。不能使用```{r}打开的块将无法运行,因此您遇到了问题。

一个工作示例可能是:

```{r}
1+1
```
Some text

```{r}
2+2
```

要插入带有相应栅栏和{r}的新空块,您可以按 Ctrl + Alt + i 在Windows上,或在Mac上 + 选项 + i ,或单击RStudio源窗格右上角的此图标(从内存中,旧版本的RStudio在该常规区​​域中有一个“插入”下拉列表:

enter image description here

答案 1 :(得分:1)

在您的第一个块中,您可以全局设置knitr个选项。

opts_chunk$set(tidy = TRUE, cache = FALSE, echo = FALSE, include = FALSE,
    fig.path = 'figures/', dev = c("pdf"),
    fig.width = 7, fig.height = 7)

在任何后续的块中,您可以通过常规方式更改它们,但它们仅适用于该块。

EDIT。以下是K. Broman

的更全面的例子
```{r global_options, include=FALSE}
knitr::opts_chunk$set(fig.width=12, fig.height=8, fig.path='Figs/',
                      echo=FALSE, warning=FALSE, message=FALSE)
```