Таблица слишком широка, чтобы поместиться в PDF-файл, сгенерированный Markdown

Я пытаюсь отобразить таблицу из 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.

См. здесь: stackoverflow.com/questions/44411575/…

JAQuent 22.05.2019 12:27

@JAQuent Я пытался, как они сказали, но изменение формата на Markdown так сильно сжимает таблицу, что все сворачивается. Мне нужно что-то большее, например, разделение стола на разные секции, чтобы оно подходило.

Marc BF 22.05.2019 12:53
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
2
2
4 210
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

Что вы подразумеваете под «полицейским» шрифтом? Я так понимаю, это опечатка?

Martin 16.12.2021 19:55

Кроме того, я не думаю, что кабельная команда «латекс» необходима.

Martin 16.12.2021 21:55

Другие вопросы по теме