Function converts a gtsummary object to a flextable object. A user can use this function if they wish to add customized formatting available via the flextable functions. The flextable output is particularly useful when combined with R markdown with Word output, since the gt package does not support Word.

as_flex_table(x, include = everything(), return_calls = FALSE, ...)



Object created by a function from the gtsummary package (e.g. tbl_summary or tbl_regression)


Commands to include in output. Input may be a vector of quoted or unquoted names. tidyselect and gtsummary select helper functions are also accepted. Default is everything().


Logical. Default is FALSE. If TRUE, the calls are returned as a list of expressions.


Not used


A flextable object


The as_flex_table() function supports bold and italic markdown syntax in column headers and spanning headers ('**' and '_' only). Text wrapped in double stars ('**bold**') will be made bold, and text between single underscores ('_italic_') will be made italic. No other markdown syntax is supported and the double-star and underscore cannot be combined. To further style your table, you may convert the table to flextable with as_flex_table(), then utilize any of the flextable functions.

Example Output

Example 1

image of rendered example table

See also

Other gtsummary output types: as_gt(), as_hux_table(), as_kable_extra(), as_kable(), as_tibble.gtsummary()


Daniel D. Sjoberg


# \donttest{
as_flex_table_ex1 <-
  trial %>%
  select(trt, age, grade) %>%
  tbl_summary(by = trt) %>%
  add_p() %>%
# }