Can you format a column header?
To format your column header, just use markdown syntax within your
character strings. Examples of this could be a newline, or bolding
certain words. To add a newline to your column header you need to
include the markdown syntax <br> or \n
in your character string. For bolding, surround your text with
** on either side. Some example code is provided below:
es_data <- tibble::tibble(
rowlbl1 = c(rep("Completion Status", 12), rep("Primary reason for withdrawal", 28)),
rowlbl2 = c(rep("Completed", 4), rep("Prematurely Withdrawn", 4), rep("Unknown", 4), rep("Adverse Event", 4), rep("Lost to follow-up", 4), rep("Protocol violation", 4), rep("Subject decided to withdraw", 4), rep("Protocol Violation", 4), rep("Pre-Operative Dose[1]", 4), rep("Other", 4)),
param = c(rep(c("n", "n", "pct", "pct"), 10)),
column = c(rep(c("Placebo<br>(N=48)", "Treatment\n**(N=38)**"), 20)), # newline and bold syntax
value = c(24, 19, 2400 / 48, 1900 / 38, 5, 1, 500 / 48, 100 / 38, 19, 18, 1900 / 48, 1800 / 38, 1, 1, 100 / 48, 100 / 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 100 / 48, 100 / 38, 1, 4, 100 / 48, 400 / 38, 1, 0, 100 / 48, 0, 2, 3, 200 / 48, 300 / 38)
)
tfrmt(
# specify columns in the data
group = c(rowlbl1),
label = rowlbl2,
column = column,
param = param,
value = value,
# set formatting for values
body_plan = body_plan(
frmt_structure(
group_val = ".default",
label_val = ".default",
frmt_combine(
"{n} {pct}",
n = frmt("xxx"),
pct = frmt_when(
"==100" ~ "",
"==0" ~ "",
TRUE ~ frmt("(xx.x %)")
)
)
)
),
# Specify row group plan
# Indent the rowlbl2
row_grp_plan = row_grp_plan(
row_grp_structure(group_val = ".default", element_block(post_space = " ")),
label_loc = element_row_grp_loc(location = "indented")
)
) |>
print_to_gt(es_data) |>
gt::tab_options(container.width = 1000)| Placebo (N=48) |
Treatment (N=38) | |
|---|---|---|
| Completion Status | ||
| Completed | 24 (50.0 %) | 19 (50.0 %) |
| Prematurely Withdrawn | 5 (10.4 %) | 1 ( 2.6 %) |
| Unknown | 19 (39.6 %) | 18 (47.4 %) |
| Primary reason for withdrawal | ||
| Adverse Event | 1 ( 2.1 %) | 1 ( 2.6 %) |
| Lost to follow-up | 0 | 0 |
| Protocol violation | 0 | 0 |
| Subject decided to withdraw | 1 ( 2.1 %) | 1 ( 2.6 %) |
| Protocol Violation | 1 ( 2.1 %) | 4 (10.5 %) |
| Pre-Operative Dose[1] | 1 ( 2.1 %) | 0 |
| Other | 2 ( 4.2 %) | 3 ( 7.9 %) |
How do I output my table?
In order to share your table with others, you will likely want to
output it to a document. You can view your table in R using
tfrmt’s print_to_gt and
print_mock_gt functions, which create gt table
objects. However, tfrmt does not offer functionality to
save the table directly to a document. To save and share your table, we
recommend leveraging the export capabilities provided by the {gt}
package. {gt} offers a range of export options for various document
types, including HTML, LaTeX, and Word. For more information on
exporting, see the gt package
documentation.
In summary, the print_to_gt and
print_mock_gt functions create a gt table
object that can be viewed in R, while exporting the table to a document
is handled through gt’s export functions.