Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在两列布局的r标记文档中插入优雅的表格_R_Layout_Shiny_Markdown_Longtable - Fatal编程技术网

在两列布局的r标记文档中插入优雅的表格

在两列布局的r标记文档中插入优雅的表格,r,layout,shiny,markdown,longtable,R,Layout,Shiny,Markdown,Longtable,我正在编写一个R降价文档,可以从一个闪亮的应用程序中下载为pdf。我用一种布局构建了一页的文档,这种布局在开头显示两列,然后在结尾显示一列。 主要问题是,在两列中的一列中,我无法插入生成的表,例如,通过knitr包的kable()函数生成的表,因为我遇到以下错误: 包长表错误:长表不在1列模式下 您可以在下面找到一些可复制的代码: --- output: pdf_document header-includes: - \usepackage{multicol} - \newcommand

我正在编写一个R降价文档,可以从一个闪亮的应用程序中下载为pdf。我用一种布局构建了一页的文档,这种布局在开头显示两列,然后在结尾显示一列。 主要问题是,在两列中的一列中,我无法插入生成的表,例如,通过knitr包的
kable()
函数生成的表,因为我遇到以下错误:

包长表错误:长表不在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”格式


谢谢

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