The {gtsummary} package provides an elegant and flexible way to
create publication-ready analytical and summary tables using the
**R** programming language. The {gtsummary} package
summarizes data sets, regression models, and more, using sensible
defaults with highly customizable capabilities.

**Summarize data frames or tibbles**easily in**R**. Perfect for presenting descriptive statistics, comparing group**demographics**(e.g creating a**Table 1**for medical journals), and more. Automatically detects continuous, categorical, and dichotomous variables in your data set, calculates appropriate descriptive statistics, and also includes amount of missingness in each variable.**Summarize regression models**in R and include reference rows for categorical variables. Common regression models, such as logistic regression and Cox proportional hazards regression, are automatically identified and the tables are pre-filled with appropriate column headers (i.e. Odds Ratio and Hazard Ratio).**Customize gtsummary tables**using a growing list of formatting/styling functions.**Bold**labels,**italicize**levels,**add p-value**to summary tables,**style**the statistics however you choose,**merge**or**stack**tables to present results side by side… there are so many possibilities to create the table of your dreams!**Report statistics inline**from summary tables and regression summary tables in**R markdown**. Make your reports completely reproducible!

By leveraging {broom}, {gt}, and {labelled} packages, {gtsummary} creates beautifully formatted, ready-to-share summary and result tables in a single line of R code!

Check out the examples below, review the vignettes for a detailed exploration of the output options, and view the gallery for various customization examples.

The {gtsummary} package was written as a companion to the {gt} package from RStudio. You can install {gtsummary} with the following code.

`install.packages("gtsummary")`

Install the development version with
`pak::pkg_install("ddsjoberg/gtsummary", dependencies = TRUE)`

Use `tbl_summary()`

to summarize a data frame.

Example basic table:

```
library(gtsummary)
# summarize the data with our package
<-
table1 |>
trial tbl_summary(include = c(age, grade, response))
```

There are many **customization options** to **add
information** (like comparing groups) and **format
results** (like bold labels) in your table. See the `tbl_summary()`

tutorial for many more options, or below for one example.

```
<-
table2 tbl_summary(
trial,include = c(age, grade, response),
by = trt, # split table by group
missing = "no" # don't list missing data separately
|>
) add_n() |> # add column with total number of non-missing observations
add_p() |> # test for a difference between groups
modify_header(label = "**Variable**") |> # update the column header
bold_labels()
```

Use `tbl_regression()`

to easily and beautifully display regression model results in a table.
See the tutorial
for customization options.

```
<- glm(response ~ trt + age + grade, trial, family = binomial)
mod1
<- tbl_regression(mod1, exponentiate = TRUE) t1
```

You can also present side-by-side regression model results using
`tbl_merge()`

```
library(survival)
# build survival model table
<-
t2 coxph(Surv(ttdeath, death) ~ trt + grade + age, trial) |>
tbl_regression(exponentiate = TRUE)
# merge tables
<-
tbl_merge_ex1 tbl_merge(
tbls = list(t1, t2),
tab_spanner = c("**Tumor Response**", "**Time to Death**")
)
```

Review even more output options in the **table
gallery**.

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.

Review the **gtsummary
+ R Markdown** vignette for details.

{gtsummary} tables can also be saved directly to file as an image, HTML, Word, RTF, and LaTeX file.

```
|>
tbl as_gt() |>
::gtsave(filename = ".") # use extensions .png, .html, .docx, .rtf, .tex, .ltx gt
```

The best resources are the gtsummary vignettes: table gallery,

`tbl_summary()`

tutorial,`tbl_regression()`

tutorial,`inline_text()`

tutorial, gtsummary themes, gtsummary+R markdown.The R Journal Article

*Reproducible Summary Tables with the gtsummary Package*.The RStudio Education Blog includes a post with a brief introduction to the package.

A recording of a presentation given to the Weill Cornell Biostatistics Department and the Memorial Sloan Kettering R Users Group.

```
> citation("gtsummary")
To cite gtsummary in publications use:
Sjoberg DD, Whiting K, Curry M, Lavery JA, Larmarange J. Reproducible summary tables with the gtsummary package.
The R Journal 2021;13:570–80. https://doi.org/10.32614/RJ-2021-053.
A BibTeX entry for LaTeX users is
@Article{gtsummary,
author = {Daniel D. Sjoberg and Karissa Whiting and Michael Curry and Jessica A. Lavery and Joseph Larmarange},
title = {Reproducible Summary Tables with the gtsummary Package},
journal = {{The R Journal}},
year = {2021},
url = {https://doi.org/10.32614/RJ-2021-053},
doi = {10.32614/RJ-2021-053},
volume = {13},
issue = {1},
pages = {570-580},
}
```

Big thank you to `@jeffreybears`

for the hex sticker!

Please note that the {gtsummary} project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms. Thank you to all contributors!