Вставьте элегантную таблицу в документ с разметкой из двух столбцов - PullRequest
0 голосов
/ 14 октября 2019

Я работаю над документом R Markdown, который можно загрузить из Shiny App как pdf . Я структурировал свой одностраничный документ с макетом, который представляет два столбца в начале, а затем снова один столбец до конца. Основная проблема заключается в том, что в один из двух столбцов я не могу вставить таблицу, сгенерированную, например, с помощью функции kable() пакета knitr , потому что я получаю следующую ошибку:

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".

Спасибо!

1 Ответ

0 голосов
/ 24 октября 2019

Я нашел решение, используя функции пакетов grid, gridExtra и gtable. Я создал и настроил таблицу и ее заголовок непосредственно внутри фрагмента файла R Markdown, а с помощью функции grid.draw() я создал графический объект этой таблицы, который теперь можно вставлять в макет из двух столбцов.

...