如何抑制和捕获knitr chunk输出?

时间:2017-01-27 15:21:28

标签: r ggplot2 knitr

knitr文档中,我调用的是一个外部代码块,它生成一个类似于以下内容的ggplot2对象:

# file.R
# ---- create_plot ----
library(ggplot2)
data(mtcars)
gg <- ggplot(mtcars, aes(mpg, cyl)) + geom_point()
gg

在我的文档中(特别是Flexdashboard Rmd):

# dashboard.Rmd
```{r setup}
knitr::read_chunk("plot.R")
```

```{r create_plot}
```

我想调用这个块并禁止打印gg对象,允许我对对象(标题,颜色等)进行一些调整,然后在我的文档中显示该图。我在调用chunk时尝试results='hide'但没有成功。我想要的文件是这样的:

# dashboard.Rmd
```{r setup}
knitr::read_chunk("plot.R")
```

```{r create_plot, results='hide'}
```

```{r display_plot}
gg <- gg + labs(title = "Custom title")
gg
```

这是否可以在不编辑外部块的情况下省略最后gg次呼叫?

1 个答案:

答案 0 :(得分:1)

您需要在chunk选项中包含= FALSE。这样,代码将运行但不包括在内。当我使用source()运行批处理代码时,我经常这样做。无论如何,试一试:

```{r display_plot, include = FALSE}
gg <- gg + labs(title = "Custom title")
gg
```