Adjusting width of tables made with kable() in RMarkdown documents

N Brouwer picture N Brouwer · Jan 27, 2017 · Viewed 37.5k times · Source

Is it possible to adjust the width of columns when making tables with the kable() function in knitr?

A chunk like this for a table with two columns produces a table that takes up the entire width of the document. I'd like to make the columns narrower. Can this be done with kable() or is another package needed?

This rmarkdown chunk

```{r}
df <- data.frame(x = 1:10,
           y = 11:20)
library(knitr)
kable(df)
```

Produces this table enter image description here

Aligning left with kable(df, align = "l") helps a little but I'd like the two columns adjacent to each other.

Answer

Hao picture Hao · Jun 12, 2017

You can try out the kableExtra package.

kable(x, "html") %>%
  kable_styling(full_width = F)