blob: 99e693111b3aa95f536d3e5dab309c7a92bb5dbc [file] [log] [blame]
Hao Zhuc1f38412017-02-23 12:13:48 -05001% Generated by roxygen2: do not edit by hand
2% Please edit documentation in R/add_header_above.R
3\name{add_header_above}
4\alias{add_header_above}
Hao Zhuf7994dd2017-02-27 16:58:42 -05005\title{Add a header row on top of current header}
Hao Zhuc1f38412017-02-23 12:13:48 -05006\usage{
Hao Zhu9410a272020-08-03 01:11:47 -04007add_header_above(
8 kable_input,
9 header = NULL,
10 bold = FALSE,
11 italic = FALSE,
12 monospace = FALSE,
13 underline = FALSE,
14 strikeout = FALSE,
15 align = "c",
16 color = NULL,
17 background = NULL,
18 font_size = NULL,
19 angle = NULL,
20 escape = TRUE,
21 line = TRUE,
22 line_sep = 3,
23 extra_css = NULL,
24 include_empty = FALSE,
25 border_left = FALSE,
26 border_right = FALSE
27)
Hao Zhuc1f38412017-02-23 12:13:48 -050028}
Hao Zhuf7994dd2017-02-27 16:58:42 -050029\arguments{
Hao Zhu76281fe2017-07-03 19:33:09 -040030\item{kable_input}{Output of \code{knitr::kable()} with \code{format} specified}
Hao Zhuf7994dd2017-02-27 16:58:42 -050031
Hao Zhu76281fe2017-07-03 19:33:09 -040032\item{header}{A (named) character vector with \code{colspan} as values. For
33example, \code{c(" " = 1, "title" = 2)} can be used to create a new header row
Hao Zhuf7994dd2017-02-27 16:58:42 -050034for a 3-column table with "title" spanning across column 2 and 3. For
Hao Zhu9410a272020-08-03 01:11:47 -040035convenience, when \code{colspan} equals to 1, users can drop the \verb{ = 1} part.
Hao Zhuad4ea392020-08-10 01:24:50 -040036As a result, \code{c(" ", "title" = 2)} is the same as \code{c(" " = 1, "title" = 2)}.
37Alternatively, a data frame with two columns can be provided: The first
38column should contain the header names (character vector) and the second
39column should contain the colspan (numeric vector). This input can be used
40if there are problems with unicode characters in the headers.}
Hao Zhu32f43f72017-06-20 18:24:54 -040041
42\item{bold}{A T/F value to control whether the text should be bolded.}
43
44\item{italic}{A T/F value to control whether the text should to be emphasized.}
Hao Zhuac7e70f2017-08-02 00:18:36 -040045
46\item{monospace}{A T/F value to control whether the text of the selected column
47need to be monospaced (verbatim)}
48
Hao Zhu76f0eb62018-09-15 12:38:33 -040049\item{underline}{A T/F value to control whether the text of the selected row
50need to be underlined}
51
52\item{strikeout}{A T/F value to control whether the text of the selected row
53need to be stricked out.}
54
Hao Zhu3465b502018-04-02 22:41:46 -040055\item{align}{A character string for cell alignment. For HTML, possible values could
56be \code{l}, \code{c}, \code{r} plus \code{left}, \code{center}, \code{right}, \code{justify}, \code{initial} and \code{inherit}
57while for LaTeX, you can only choose from \code{l}, \code{c} & \code{r}.}
58
Hao Zhu76f0eb62018-09-15 12:38:33 -040059\item{color}{A character string/vector for text color. Here please pay
60attention to the differences in color codes between HTML and LaTeX.}
61
62\item{background}{A character string/vector for background color. Here please
63pay attention to the differences in color codes between HTML and LaTeX. Also
64note that in HTML, background defined in cell_spec won't cover the whole
65cell.}
66
67\item{font_size}{A numeric input/vector for font size. For HTML, you can also use
68options including \code{xx-small}, \code{x-small}, \code{small}, \code{medium}, \code{large},
69\code{x-large}, \code{xx-large}, \code{smaller}, \code{larger}, \code{initial} and \code{inherit}.}
70
71\item{angle}{0-360, degree that the text will rotate.}
72
Hao Zhuac7e70f2017-08-02 00:18:36 -040073\item{escape}{A T/F value showing whether special characters should be
74escaped.}
Hao Zhu68b5bbf2018-03-26 11:30:34 -040075
76\item{line}{A T/F value to control whether a line will appear underneath the
77header}
Hao Zhu6d68f7c2018-09-15 12:44:15 -040078
Hao Zhub548aac2018-09-18 13:29:01 -040079\item{line_sep}{A numeric value indicating how much the midlines should be
80separated by space. Default is 3.}
81
Hao Zhu6d68f7c2018-09-15 12:44:15 -040082\item{extra_css}{An HTML only option. CSS defined here will be send to the
83td cell.}
Hao Zhuf64f4752018-10-23 10:35:16 -040084
85\item{include_empty}{Whether empty cells in HTML should also be styled.
86Default is FALSE.}
Hao Zhu9410a272020-08-03 01:11:47 -040087
88\item{border_left}{T/F option for border on the left side in latex.}
89
90\item{border_right}{T/F option for border on the right side in latex.}
Hao Zhuf7994dd2017-02-27 16:58:42 -050091}
Hao Zhuc1f38412017-02-23 12:13:48 -050092\description{
Hao Zhuf7994dd2017-02-27 16:58:42 -050093Tables with multiple rows of header rows are extremely useful
Hao Zhu76281fe2017-07-03 19:33:09 -040094to demonstrate grouped data. This function takes the output of a \code{kable()}
Hao Zhue7c8f702017-10-10 13:22:59 -040095function and adds an header row on top of it.
Hao Zhuc1f38412017-02-23 12:13:48 -050096}
Hao Zhu78e61222017-05-24 20:53:35 -040097\examples{
98x <- knitr::kable(head(mtcars), "html")
99# Add a row of header with 3 columns on the top of the table. The column
100# span for the 2nd and 3rd one are 5 & 6.
101add_header_above(x, c(" ", "Group 1" = 5, "Group 2" = 6))
102
103}