modify_fmt_fun: Modify Formatting Functions

View source: R/modify_fmt_fun.R

modify_fmt_funR Documentation

Modify Formatting Functions



maturing Use this function to update the way numeric columns and rows of .$table_body are formatted


modify_fmt_fun(x, update, rows = NULL)



gtsummary object


list of formulas or a single formula specifying the updated formatting function. The LHS specifies the column(s) to be updated, and the RHS is the updated formatting function.


predicate expression to select rows in x$table_body. Default is NULL. See details below.

Example Output

Example 1

image of rendered example table

rows argument

The rows argument accepts a predicate expression that is used to specify rows to apply formatting. The expression must evaluate to a logical when evaluated in x$table_body. For example, to apply formatting to the age rows pass rows = variable == "age". A vector of row numbers is NOT acceptable.

A couple of things to note when using the ⁠rows=⁠ argument.

  1. You can use saved objects to create the predicate argument, e.g. rows = variable == letters[1].

  2. The saved object cannot share a name with a column in x$table_body. The reason for this is that in tbl_merge() the columns are renamed, and the renaming process cannot disambiguate the variable column from an external object named variable in the following expression rows = .data$variable = .env$variable.

See Also

Review list, formula, and selector syntax used throughout gtsummary

Other Advanced modifiers: modify_column_alignment(), modify_column_hide(), modify_column_indent(), modify_column_merge(), modify_table_body(), modify_table_styling()


# Example 1 ----------------------------------
# show 'grade' p-values to 3 decimal places
modify_fmt_fun_ex1 <-
  lm(age ~ marker + grade, trial) %>%
  tbl_regression() %>%
    update = p.value ~ function(x) style_pvalue(x, digits = 3),
    rows = variable == "grade"

gtsummary documentation built on July 26, 2023, 5:27 p.m.