How to set knitr::kable() global options in markdo

2020-02-06 03:43发布

问题:

Is there an easy to use way to setup custom default kable() options, so that there is no need in rewriting them for each kable() call.

For example, my usual table styling uses following code:

library(kableExtra)
kable(mtcars, booktabs=TRUE, digits= 2) %>% kable_styling(latex_options =c("striped", "scale_down"))

I would like to set all kable() kable_styling options so that a call to kable(mtcars) with no arguments defaults to my usual table styling.

回答1:

Just write your own function to do that:

kable <- function(data) {
  knitr::kable(data, booktabs = TRUE, digits = 2) %>% 
    kable_styling(latex_options =c("striped", "scale_down"))
}

It might be less confusing to give it a new name instead of masking kable; that's up to you.