Вот решение части вашей проблемы генерации таблицы в формате pdf.Вам нужно настроить стиль вашей таблицы в xtable
, чтобы получить желаемую полосу зебры и объединить столбцы.Вообще говоря, преобразование html в pdf не так просто, поэтому лучшим решением является использование LaTeX для генерации вашей таблицы, во-первых (я знаю, что вы не хотели LaTeX, но по крайней мере это скомпилировано в pdf с R и xtable
делает тяжелую работу):
library(xtable)
dt <- mtcars[1:5, 1:4]
filename <- tempfile(fileext = ".tex")
capture.output(print(xtable(dt)), file = filename)
foo <- readLines(filename)
writeLines(c("\\documentclass[hidelinks]{article}",
"\\begin{document}",
foo,
"\\end{document}"),
con = filename)
tools::texi2dvi(filename, pdf = TRUE)
Вам нужно взглянуть на https://cran.r -project.org / web / packages / xtable / vignettes / xtableGallery.pdf , чтобы получитьВаш стиль, как вы хотите.Удачи.
Редактировать: Кажется, вы можете использовать kabelExtra
тоже:
library(knitr)
library(kableExtra)
dt <- mtcars[1:5, 1:4]
# LaTeX table
a <- kable(dt, format = "latex", caption = "Demo Table") %>%
kable_styling(bootstrap_options = "striped",
full_width = F) %>%
add_header_above(c(" ", "Group 1" = 2, "Group 2[note]" = 2)) %>%
add_footnote(c("table footnote"))
filename <- tempfile(fileext = ".tex")
capture.output(a, file = filename)
foo <- readLines(filename)
writeLines(c("\\documentclass[hidelinks]{article}",
"\\begin{document}",
foo,
"\\end{document}"),
con = filename)
tools::texi2dvi(filename, pdf = TRUE)