The {gtsummary} package was written to be a companion to the {gt} package from RStudio. But not all output types are supported by the {gt} package. Therefore, we have made it possible to print {gtsummary} tables with various engines.
Here’s a summary of the various R Markdown output types and the print engines that support them.
| Print Engine | Function | HTML | RTF | Word | |
|---|---|---|---|---|---|
| Key | |
|---|---|
| Output fully supported | |
| Formatted output, but missing indentation, footnotes, spanning headers | |
| No formatted output | |
| Output not supported | |
| Under development |
Any {gtsummary} table can be converted to one of the types in the table above. For example, the code below prints a {gtsummary} table as a {flextable} table, instead of the default {gt} table.
tbl_summary(trial) %>% as_flex_table()
Tables printed with {gtsummary} can be seamlessly integrated into R markdown documents. Currently, {gt} supports HTML output, with LaTeX and RTF planned for the future. The table below summarizes the default print engine utilized for {gtsummary} tables for various R Markdown output formats.
| Output Type | Default Engine | Details |
|---|---|---|
HTML |
{gt} |
{gt} output is fully supported with HTML output. |
kable |
You may force printing with {gt} by converting a {gtsummary} object to {gt} with |
|
RTF |
kable |
You may force printing with {gt} by converting a {gtsummary} object to {gt} with |
Word |
flextable |
{flextable} is the default print engine for Word output, as {gt} does not support Word. If {flextable} is not installed, kable is used. |
When a table is printed with kintr::kable() the resulting table is less full featured compared to a table printed with {gt}. For example, the table will not contain footnotes, spanning headers, or row indentation.
An example R markdown report using {gtsummary} has been included with the package. To open the example file, run the following command in the R console.
library(gtsummary) system.file(package = "gtsummary") %>% file.path("rmarkdown_example/gtsummary_rmarkdown_html.Rmd") %>% file.edit()
To print {gtsummary} tables using LaTeX, utilize one of the supporting print engines.
# build gtsummary table tbl <- tbl_summary(trial) # using the {gt} package as_gt(tbl) %>% gt::as_latex() # using the {huxtable} package as_hux_table(tbl) %>% huxtable::to_latex() # using the {kableExtra} package as_kable_extra(tbl, format = "latex") # using the knitr::kable function as_kable(tbl, format = "latex")
Use the {gt} package’s gt::gtsave() function to save images of {gtsummary} tables.
tbl_summary(trial) %>% # build gtsummary table as_gt() %>% # convert to gt table gt::gtsave( # save table as image filename = "my_table_image.png" )
When printing {gt} or {gtsummary} tables in a loop, use print() and results = 'asis' in the R markdown chunk.