【问题标题】:RMarkdown page break after kable tables and then show plotsRMarkdown 分页后 kable 表,然后显示情节
【发布时间】:2021-11-27 21:07:31
【问题描述】:

我有一个包含以下代码块的 RMarkdown 文件。我希望直方图显示在两个 kable 表之后的页面上。即,我希望在第 3 页打印直方图。但在我的输出中,它总是在第 2 页打印。即使我有多个 \pagebreak 值一个接一个,该图仍然在第 2 页打印。

今天早上我研究了一段时间,但未能找到解决方案。下面的代码使用mtcars,所以它应该是完全可重现的。

```
---
title: "Test Document"
author: ""
date: "Today's Date"
output: pdf_document
classoption: landscape
---
  
```{r knitr_init, echo = FALSE, results="asis", cache = FALSE, message = FALSE, warning = FALSE}
library(dplyr)
library(ggplot2)
library(kableExtra)

data(mtcars)
```

```{r, echo = FALSE, message = FALSE, warning = FALSE}
cars_table <- mtcars %>%
  group_by(cyl) %>%
  summarise(avg_hp = mean(hp))

kable(cars_table,
      align = 'r',
      caption = "Average Horsepower by Cylinders",
      format="latex")
```

```{r, echo = FALSE, message = FALSE, warning = FALSE}
cars_table <- mtcars %>%
  group_by(gear) %>%
  summarise(avg_hp = mean(hp))

kable(cars_table,
      align = 'r',
      caption = "Average Horsepower by Gears",
      format="latex")
```
\pagebreak
```{r, echo = FALSE, message = FALSE, warning = FALSE, fig1, fig.height = 4, fig.width = 10}
ggplot(mtcars, aes(x = hp)) +
  geom_histogram() +
  facet_wrap(~cyl)
```

【问题讨论】:

  • 使用“\newpage”代替“\pagebreak”有效吗?刚刚看到它查看这个 rmarkdown 网站并认为它可能会有所帮助:bookdown.org/yihui/rmarkdown-cookbook/pagebreaks.html
  • @Silentdevildoll 不幸的是,它产生了相同的结果。将\pagebreak替换为\newpage仍然无法达到打印第3页的ggplot的结果。

标签: r pdf r-markdown knitr kable


【解决方案1】:

有点骇人听闻,但一个空白的“标题”降价行后跟 \pagebreak 在两个不同的位置就可以了。

---
title: "Test Document"
author: ""
date: "Today's Date"
output: pdf_document
classoption: landscape
---
  
```{r knitr_init, echo = FALSE, results="asis", cache = FALSE, message = FALSE, warning = FALSE}
library(dplyr)
library(ggplot2)
library(kableExtra)

data(mtcars)
```
#
\pagebreak
```{r, echo = FALSE, message = FALSE, warning = FALSE}
cars_table <- mtcars %>%
  group_by(cyl) %>%
  summarise(avg_hp = mean(hp))

kable(cars_table,
      align = 'r',
      caption = "Average Horsepower by Cylinders",
      format="latex")
```

```{r, echo = FALSE, message = FALSE, warning = FALSE}
cars_table <- mtcars %>%
  group_by(gear) %>%
  summarise(avg_hp = mean(hp))

kable(cars_table,
      align = 'r',
      caption = "Average Horsepower by Gears",
      format="latex")
```
#
\pagebreak
```{r, echo = FALSE, message = FALSE, warning = FALSE, fig1, fig.height = 4, fig.width = 10}
ggplot(mtcars, aes(x = hp)) +
  geom_histogram() +
  facet_wrap(~cyl)
```

【讨论】:

    猜你喜欢
    • 2021-05-23
    • 2021-12-30
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    • 2013-11-20
    • 2021-11-07
    相关资源
    最近更新 更多