I am writing a Rmarkdown document with plenty of tables, and I want them in a decent format, e.g.
kable. However I don’t want to format them one by one. For example, I have created the following data frame in
library(dplyr) data("iris") iris %>% group_by(Species) %>% summarise(n = n()) %>% arrange(desc(n))
## # A tibble: 3 x 2 ## Species n ## <fctr> <int> ## 1 setosa 50 ## 2 versicolor 50 ## 3 virginica 50
One solution to the output format of this data frame would be to name it as an object in
R, and then give it a format by using the kable function.
t1 <- iris %>% group_by(Species) %>% summarise(n = n()) %>% arrange(desc(n)) knitr::kable(t1)
However, if your document has hundreds of these queries and you need a faster way to compile the document, while keeping the kable style automatically, avoiding giving a name to the data frame and even avoiding to call the kable function over that name, you can use the printr package. Just add the following piece of code inside a chunk at the beginning of your document and voilá.
Now, all of your data frames will have a decent style, and you do not need to worry about this issue. For example, I have knitted a presentation by using printr and the first code in this post, and this is the result:
library(printr) iris %>% group_by(Species) %>% summarise(n = n()) %>% arrange(desc(n))