Reduce spacing between columns in table created with kable(, format = 'markdown')

我的未来我决定 提交于 2019-12-23 10:15:36

问题


I try to create a table using the format "markdown" of the function kable(), but the spaces between the columns are so wide that the table extends over the page. Is there anyway to adjust the cell size so that a table in markdown format does not extend over the page? In latex format it stays within the page, but I do not want this format nor do I want html. I want the output file to be .pdf. I know that a similar question has been asked here, but my question is specific to the format markdown. If you feel this is a duplicate, please merge the questions.

Reproducible example:

---
title: "Example"
author: "JAQuent"
date: "7 Juni 2017"
output: pdf_document
---

\tiny

```{r results='asis', echo = FALSE, warning = FALSE}
library(knitr)

table1 <- data.frame(Factor1 = c('level 1', 'level 1', 'level 2', 'level 2'),
                     Factor2 = c('level 1', 'level 2', 'level 1', 'level 2'),
                     Parameter1 = sample(1000000:9999999, 2),
                     Parameter2 = sample(1000000:9999999, 2),
                     Parameter3 = sample(1000000:9999999, 2),
                     Parameter4 = sample(1000000:9999999, 2),
                     Parameter5 = sample(1000000:9999999, 2),
                     Parameter6 = sample(1000000:9999999, 2),
                     Parameter7 = sample(1000000:9999999, 2))

names(table1) <- c('Factor1', 'Factor2', 'Parameter1', 'Parameter2', 'Parameter3', 'Parameter4', 'Parameter5', 'Parameter6', 'Parameter7')


kable(table1, format = 'markdown')
kable(table1, format = 'latex')
```


回答1:


A couple of the examples in ?kable contain a padding argument. Feeding it 0L gets you closer, but it turns out that this argument will take negative integers, so

kable(table1, format = 'markdown', padding=-1L)

will produce something closer to what your are looking for.




回答2:


I think what you are looking for is actually kable(table, "latex", booktabs = T). Also, you can check out the kableExtra package which makes it easy to modify the kable outputs.



来源:https://stackoverflow.com/questions/44411575/reduce-spacing-between-columns-in-table-created-with-kable-format-markdown

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!