I would like to add headers entitled "Category 1", "Category 2", "Category 3" and "Category 4" to a table, separated by a black line. I would like it to look like the picture attached. Please see the code for the table without the Categories/black lines between columns:
library(formattable)
data(mtcars)
df <- mtcars
formattable(df)
Here is one with kable
where can use add_header_above
by passing a vector of key/value pair with key
suggesting the name and value for the number of columns to be expanded
library(kableExtra)
library(dplyr)
library(kableExtra)
mtcars %>%
kable() %>%
kable_styling(bootstrap_options = "bordered",
full_width = FALSE) %>%
add_header_above(c("", "Category1" = 3, "Category2" = 3,
"Category3" = 3, "Category4" = 2)) %>%
collapse_rows(columns = 1,
valign = "middle")
-output
Some of the styling can be changed as well
mtcars %>%
kable() %>%
kable_styling(bootstrap_options = "responsive",
full_width = FALSE) %>%
add_header_above(c("", "Category1" = 3, "Category2" = 3,
"Category3" = 3, "Category4" = 2)) %>%
collapse_rows(columns = 1,
valign = "middle")