Таблица слишком широка, чтобы уместиться в PDF, созданном Markdown - PullRequest
1 голос
/ 22 мая 2019

Я пытаюсь отобразить таблицу из SQL-запроса в PDF с помощью Rmarkdown.Однако полученная таблица слишком широка и не помещается в документе.

Мне рекомендовано использовать пакет Pander, поэтому я попытался использовать функцию pandoc.table (), которая прекрасно работаетна консоли, но по какой-то причине он останавливает рендеринг моего документа в Rmarkdown.

Код выглядит примерно так:

rz = dbSendQuery(mydb, "select result.id result_id, company.id company_id, (...)")
datz = fetch(rz, n=-1)

Это очень длинный запрос, но, как я уже сказал, он работает как на MySQL, так и на консоли R (работает на RStudio).

Итак, когда я делаю

kable(datz, "latex", col.names = c(colnames(datz)), caption=paste('This is a sample table')) %>% kable_styling(latex_options = "striped") %>% column_spec(1, bold = T, color = "red"))

, результаты, которые выводятся на печать, слишком широки, чтобы поместиться в PDF.

Я не знаю, как я могу решить это.Я пытался с pandoc.tables () из пакета pander, но формат результата, кажется, очень скромный по сравнению с опциями, которые я имею в Kable.

1 Ответ

3 голосов
/ 22 мая 2019

Вы должны использовать опцию scale_down из kableExtra. Параметр scale_down умещается на вашем столе на одной странице, когда он слишком широкий. Полицейский шрифт также будет уменьшен.

Вот пример кода, который вы можете использовать:

kable(your_dt, "latex", booktabs = T) %>%
kable_styling(latex_options = c("striped", "scale_down"))
...