kableExtra (version 0.9.0)

add_header_above: Add a header row on top of current header

Description

Tables with multiple rows of header rows are extremely useful to demonstrate grouped data. This function takes the output of a kable() function and adds an header row on top of it.

Usage

add_header_above(kable_input, header = NULL, bold = FALSE, italic = FALSE,
  monospace = FALSE, align = "c", escape = TRUE, line = TRUE)

Arguments

kable_input

Output of knitr::kable() with format specified

header

A (named) character vector with colspan as values. For example, c(" " = 1, "title" = 2) can be used to create a new header row for a 3-column table with "title" spanning across column 2 and 3. For convenience, when colspan equals to 1, users can drop the = 1 part. As a result, c(" ", "title" = 2) is the same as c(" " = 1, "title" = 2).

bold

A T/F value to control whether the text should be bolded.

italic

A T/F value to control whether the text should to be emphasized.

monospace

A T/F value to control whether the text of the selected column need to be monospaced (verbatim)

align

A character string for cell alignment. For HTML, possible values could be l, c, r plus left, center, right, justify, initial and inherit while for LaTeX, you can only choose from l, c & r.

escape

A T/F value showing whether special characters should be escaped.

line

A T/F value to control whether a line will appear underneath the header

Examples

Run this code
# NOT RUN {
x <- knitr::kable(head(mtcars), "html")
# Add a row of header with 3 columns on the top of the table. The column
# span for the 2nd and 3rd one are 5 & 6.
add_header_above(x, c(" ", "Group 1" = 5, "Group 2" = 6))

# }

Run the code above in your browser using DataLab