无法禁用 gridExtra 的 R markdown 输出(附加评论)

Cannot disable R markdown output from gridExtra (additional comment)

在我的 r 降价报告中,我使用了 2 个块。

第一个:

```{r, include = FALSE, echo=FALSE, results='asis'}```

我在哪里加载所有包并进行计算。

第二个

{r, fig.margin = TRUE, fig.width=10,
fig.height=4.5, echo=FALSE, results='asis', 
message=FALSE, warning = FALSE} 

在我有 for 循环的地方,我在其中过滤我在第一个块中生成的数据,并为每个 i 制作 ggplots。

我的问题是,当我在第二块中制作 2 个图时,我通过 grid.arrange 将它们组合在一个网格中,但是我不想显示其他评论。

TableGrob (2 x 2) "arrange": 2 grobs
  z     cells    name           grob
1 1 (1-2,1-1) arrange gtable[layout]
2 2 (1-2,2-2) arrange gtable[layout]

title: "Test"
author: "Maybe It's You"
date: "2016.09.01"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(grid)
library(gridExtra)
library(ggplot2)

lay <- rbind(c(1,2),
             c(1,2))
gs <- list()

```


```{r cars}
summary(cars)
```

## Including Plots

You can also embed plots, for example:

```{r pressure, echo=FALSE, results='asis', message=FALSE, warning = FALSE}
p1 <- qplot(1:10)
p2 <- qplot(1:10)
gs[[1]] <- p1
gs[[2]] <- p2          


wykres <- grid.arrange(grobs = gs, layout_matrix = lay)
print(wykres)

```

带有 gridExtra 注释的结果片段(TablGrob...)

不要print()grid.arrange()自己画。如果你想存储结果然后绘制它,使用arrangeGrob()+grid.draw()

该解决方案对我有用,但注意到 R 代码块应该直接 return grid.arrange(),而不是事先存储结果。例如:

这仍将显示 gridExtra 信息(TableGrob 注释):

```{r pressure, echo=FALSE, results='asis', message=FALSE, warning = FALSE}
p1 <- qplot(1:10)
p2 <- qplot(1:10)
gs[[1]] <- p1
gs[[2]] <- p2          


wykres <- grid.arrange(grobs = gs, layout_matrix = lay)
return(wykres)
```

这不会显示 gridExtra 信息:

```{r pressure, echo=FALSE, results='asis', message=FALSE, warning = FALSE}
p1 <- qplot(1:10)
p2 <- qplot(1:10)
gs[[1]] <- p1
gs[[2]] <- p2          


return(grid.arrange(grobs = gs, layout_matrix = lay))
```