iago
iago

Reputation: 3266

Is it possible to add vertical lines to tables produced with R knitr::kable in pdf?

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

Answers (2)

dash2
dash2

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

s__
s__

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()

enter image description here

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

Related Questions