0

我正在编写一个 R Markdown 文档,该文档可以从 Shiny App 下载为pdf。我已经用一个布局构建了我的 1 页文档,该布局在开头显示两列,然后再显示一列直到结尾。主要问题是在两列之一中我无法插入生成的表格,例如,通过knitrkable()包的功能,因为我收到以下错误:

包 longtable 错误:longtable 不在 1 列模式下

您可以在下面找到一些可重现的代码:

---
output: pdf_document
header-includes:
  - \usepackage{multicol}
  - \newcommand{\btwocol}{\begin{multicols}{2}}
  - \newcommand{\etwocol}{\end{multicols}}
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, cache = T)

library(ggplot2)
library(knitr)
```

\btwocol

#### Column one
```{r}
ggplot(mtcars,
       aes(x = mpg,
           y = cyl)) +
  geom_point()
```

\columnbreak

#### Column two
```{r}
kable(mtcars[1:10, 1:2], format = "markdown")
```

\etwocol

请注意,如果您删除该kable()函数,则可以编译脚本,但该表是标准的“R”格式。

谢谢!

4

2 回答 2

0

grid我通过使用,gridExtragtable包的功能找到了解决方案。我直接在 R Markdown 文件的一个块中创建并自定义了表格及其标题,并使用该grid.draw()函数创建了该表格的图形对象,现在可以将其插入到两列布局中。

于 2019-10-24T11:54:35.507 回答
0

非常简单的解决方案:使用从kableExtrakbl(df, longtable=F)中生成一个不属于该longtable格式的表格。

于 2021-08-02T14:30:23.033 回答