我试图通过使用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中的选项相比,结果的格式似乎非常谦虚。
答案 0 :(得分:3)
您必须使用kableExtra的scale_down
选项。如果scale_down
选项太宽,它将使您的表格适合一页。警察字体也将减少。
以下是您可以使用的代码示例:
kable(your_dt, "latex", booktabs = T) %>%
kable_styling(latex_options = c("striped", "scale_down"))