Итеративная печать таблиц kable в pdf, с несколькими таблицами на странице - PullRequest
0 голосов
/ 20 января 2020

Я пытаюсь создать таблицу с использованием Kable и KableExtra и связать ее в PDF. Я хотел бы реализовать несколько функций дизайна таблиц, распечатать их в одном файле PDF и, если возможно, иметь несколько таблиц на страницу, и делать это итеративно. Я попытался решить следующие проблемы:

1) Save_Kable to Html: это позволяет мне создавать таблицы итеративно и добавлять все необходимые мне элементы дизайна. Проблема в том, что он сохраняется в файл Html, а затем мне нужно распечатать их все в pdf, а затем объединить все файлы.

{r save kable as html}
df %>% 
  kable("html", align = c("l",rep("c",length(df)))) %>% 
  kable_styling(bootstrap_options = c("striped","bordered","condensed")) %>%
  add_header_above(c("Type"=1,"Variables"=11)) %>%
  add_header_above(c("Header" = 12)) %>%
  save_kable(paste0("Save kable as html.html"))

Save Kable as HTML Output 2 ) Save_Kable to pdf: это позволяет мне делать то же самое, что и при печати в Html, но при печати в pdf изображение получается очень размытым и не очень пригодным для использования.

{r save kable as pdf}
df %>% 
  kable(align = c("l",rep("c",length(df)))) %>% 
  kable_styling(bootstrap_options = c("striped","condensed","bordered")) %>%
  add_header_above(c("Type"=1,"Variables"=11)) %>%
  add_header_above(c("Header" = 12)) %>%
  save_kable(paste0("Save kable as pdf.pdf"))

Save kable as pdf Output 3) Функция печати: это позволяет мне связать файл, и все таблицы заканчиваются в одном файле PDF. Я не нашел способа сохранить несколько таблиц на одной странице. Основная проблема заключается в том, что форматирование этих таблиц застряло по умолчанию, и я не смог применить какое-либо форматирование.

{r results='asis'}
print(
  df %>% 
    kable(align = c("l",rep("c",length(df)))) %>% 
    kable_styling(bootstrap_options = c("striped","condensed","bordered")) %>%
    add_header_above(c("Type"=1,"Variables"=11)) %>%
    add_header_above(c("Print" = 12))
)

4) As_Image: Это также не позволит мне изменить форматирование по умолчанию. Я также не могу создавать их итеративно. Это позволяет мне сохранять несколько страниц на одной странице, но мне придется создавать их все вручную.

{r save as image}
df %>% 
  kable(align = c("l",rep("c",length(df)))) %>% 
  kable_styling(bootstrap_options = c("striped","condensed","bordered")) %>%
  add_header_above(c("Type"=1,"Variables"=11)) %>%
  add_header_above(c("As Image" = 12)) %>%
  as_image(width = 6.5,file="file.png")

Markdown

Мне также не удалось заставить их печатать с помощью чередующейся опции. Если у кого-то есть какие-либо идеи, дайте мне знать, я потратил слишком много времени на исследования и не нашел ничего, что, кажется, работает. Заранее спасибо.

Редактировать: пример данных из mtcars

...