我试图通过使用Rmarkdown将SQL查询中的表显示为pdf。但是,我得到的表太宽,不适合文档。
有人建议我使用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中。
我不知道怎么解决这个问题。我试过使用pander包中的pandoc.tables(),但结果的格式与kable中的选项相比似乎非常简陋。

最佳答案

您必须使用kableExtra中的scale_down选项。当表格太宽时,scale_down选项将适合您的表格放在一页上。警察字体也将减少。
下面是您可以使用的代码示例:

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

关于mysql - 表格太宽,无法容纳Markdown生成的PDF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56254631/

10-10 01:37