add_significance_stars: Add significance stars

Description Usage Arguments Future Updates Example Output Examples

View source: R/add_significance_stars.R

Description

\lifecycle

experimental Add significance stars to estimates with small p-values

Usage

1
2
3
4
5
6
7
8
add_significance_stars(
  x,
  pattern = "{estimate}{stars}",
  thresholds = c(0.001, 0.01, 0.05),
  hide_ci = TRUE,
  hide_p = TRUE,
  hide_se = FALSE
)

Arguments

x

a 'tbl_regression' or 'tbl_uvregression' object

pattern

glue-syntax string indicating what to display in formatted column. Default is "{estimate}{stars}". Other common patterns are "{estimate}{stars} ({conf.low}, {conf.high})" and "{estimate} ({conf.low} to {conf.high}){stars}"

thresholds

thresholds for significance stars. Default is c(0.001, 0.01, 0.05)

hide_ci

logical whether to hide confidence interval. Default is TRUE

hide_p

logical whether to hide p-value. Default is TRUE

hide_se

logical whether to hide standard error. Default is FALSE

Future Updates

There are planned updates to the implementation of this function with respect to the pattern= argument. Currently, this function replaces the numeric estimate column, with a formatted character column following pattern=. Once gt::cols_merge() gains the rows= argument the implementation will be updated to use it, which will keep numeric columns numeric. For the vast majority of users, the planned change will be go unnoticed.

Example Output

Example 1

Example 2

Example 3

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
tbl <-
  lm(time ~ ph.ecog + sex, survival::lung) %>%
  tbl_regression(label = list(ph.ecog = "ECOG Score", sex = "Sex"))

# Example 1 ----------------------------------
add_significance_stars_ex1 <-
  tbl %>%
  add_significance_stars(hide_ci = FALSE, hide_p = FALSE)

# Example 2 ----------------------------------
add_significance_stars_ex2 <-
  tbl %>%
  add_significance_stars(
    pattern = "{estimate} ({conf.low}, {conf.high}){stars}",
    hide_ci = TRUE, hide_se = TRUE
  ) %>%
  modify_header(estimate ~ "**Beta (95% CI)**") %>%
  modify_footnote(estimate ~ "CI = Confidence Interval", abbreviation = TRUE)

# Example 3 ----------------------------------
# Use <br> to put a line break between beta and SE in HTML output
add_significance_stars_ex3 <-
  tbl %>%
  add_significance_stars(
    hide_se = TRUE,
    pattern = "{estimate}{stars}<br>({std.error})"
  ) %>%
  modify_header(estimate ~ "**Beta (SE)**") %>%
  modify_footnote(estimate ~ "SE = Standard Error", abbreviation = TRUE) %>%
  as_gt() %>%
  gt::tab_style(style = "vertical-align:top",
                locations = gt::cells_body(columns = vars(label)))

ddsjoberg/gtsummary documentation built on April 8, 2021, 5:48 a.m.