Reputation: 3266
I want to produce a table with knitr::kable
with vertical lines on the borders and between certain columns. Is there a way to do it?
My output document is pdf.
Thanks!
Upvotes: 11
Views: 15798
Reputation: 2262
Answer using huxtable:
library(huxtable)
library(dplyr)
as_hux(mtcars[1:5, 1:6], add_colnames = TRUE) %>%
set_right_border(2:5, everywhere, 0.4) %>%
set_bottom_border(1, everywhere, 0.4)
You can then save it to PDF with quick_pdf()
, or print it within a rmarkdown document.
Upvotes: 2
Reputation: 9525
Not too much clear, but maybe this could help:
library(knitr)
library(kableExtra)
library(dplyr)
dt <- mtcars[1:5, 1:6]
dt %>%
kable() %>%
# here you can add the vertical line, in my example, for all the columns
column_spec (1:7,border_left = T, border_right = T) %>%
kable_styling()
And if you need to save it as .pdf
:
save_kable(k, "k.pdf")
With k
as the result of the code above.
Upvotes: 16