How do you format a table in pdf using kable function? Because my output table width exceeds the width of the pdf. Here is an example:
--- output: pdf_document --- ```{r} df <- cbind(mtcars[1:5,], mtcars[1:5,]) knitr::kable(df) ```
One option is to use kable_styling
from the kableExtra
package. The option latex_options="scale_down"
will fit the table within the paper margins. See the vignette for detailed examples on all of the formatting options.
--- output: pdf_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = FALSE) library(knitr) library(kableExtra) ``` ```{r} kable(cbind(mtcars[1:5,], mtcars[1:5,])) ``` ```{r} kable(cbind(mtcars[1:5,], mtcars[1:5,]), format="latex", booktabs=TRUE) %>% kable_styling(latex_options="scale_down") ```
Note if you are using longtable, this answer says,
since longtable doesn't support resizebox, you cannot use the "scale_down" option in latex_options.
However, they suggested using font_size, e.g.,
kable(df, "latex", longtable = T, booktabs = T) %>% kable_styling(font_size = 7)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With