build_span {onbrand} | R Documentation |
Construct Table Span From Components
Description
Takes a large table, common rows, and header information and constructs a table that is a subset of those components using supplied ranges of rows and columns.
Usage
build_span(
table_body = NULL,
row_common = NULL,
table_body_head = NULL,
row_common_head = NULL,
header_format = "text",
obnd = NULL,
row_sel = NULL,
col_sel = NULL,
table_alignment = "center",
inner_border = officer::fp_border(color = "black", width = 0.3),
outer_border = officer::fp_border(color = "black", width = 2),
set_header_inner_border_v = TRUE,
set_header_inner_border_h = TRUE,
set_header_outer_border = TRUE,
set_body_inner_border_v = TRUE,
set_body_inner_border_h = FALSE,
set_body_outer_border = TRUE,
notes_detect = NULL
)
Arguments
table_body |
Data frame with the body of the large table. |
row_common |
Data frame with the common rows. |
table_body_head |
Data frame or matrix with headers for the table body. |
row_common_head |
Data frame or matrix with headers for the common rows. |
header_format |
Format of the header either |
obnd |
Optional onbrand object used to format markdown. The default |
row_sel |
Indices of rows to build to the table with. |
col_sel |
Indices of columns to build to the table with. |
table_alignment |
Character string specifying the alignment #'of the table (body and headers). Can be |
inner_border |
Border object for inner border lines defined using |
outer_border |
Border object for outer border lines defined using |
set_header_inner_border_v |
Boolean value to enable or disable inner vertical borders for headers |
set_header_inner_border_h |
Boolean value to enable or disable inner horizontal borders for headers |
set_header_outer_border |
Boolean value to enable or disable outer border for headers |
set_body_inner_border_v |
Boolean value to enable or disable inner vertical borders for the body |
set_body_inner_border_h |
Boolean value to enable or disable inner horizontal borders for the body |
set_body_outer_border |
Boolean value to enable or disable outer border borders for the body |
notes_detect |
Vector of strings to detect in output tables (example |
Details
The way the data frames relate to each other are mapped out below. The dimensions of the different data frames are identified below (nrow x ncol)
col_sel |<--------------->| |--------------------------------------------| --- | | . . | ^ | | . . | | | row_common_head | . table_body_head . | | m | m x n | . m x c . | | | | . . | v |--------------------------------------------| --- | | . . | ^ | | . . | | | row_common | . table_body . | | | r x n | . r x c . | | | | . . | | |.................|..........................| | - | | ./ / / / / / . | | ^ | | . / / / / / . | | r | | | . / / / / / /. | | | row_sel | | ./ / / / / / . | | | | | . / / / / / . | | v |.................|...../../../../../../.... | | - | | . . | | | | . . | v |--------------------------------------------| --- |<--------------->|<------------------------>| n c
Value
list with the following elements
df: Data frame with the built table.
ft: The data frame as a flextable object.
notes: Note placeholders found in the table.
Examples
if(interactive()){
tbl_res = mk_lg_tbl()
res =
span_table(table_body = tbl_res$lg_tbl_body,
row_common = tbl_res$lg_tbl_row_common,
table_body_head = tbl_res$lg_tbl_body_head,
row_common_head = tbl_res$lg_tbl_row_common_head,
max_row = 20,
max_col = 10,
notes_detect = c("BQL", "NC"))
# Notes detected in the first table:
res[["tables"]][["Table 1"]][["notes"]]
# First table as a data frame:
res[["tables"]][["Table 1"]][["df"]]
# First table as a flextable:
res[["tables"]][["Table 1"]][["ft"]]
}