Skip to contents

Converts between common effect size representations used in causal inference and applied statistics: unstandardized coefficients, Cohen's d, Cohen's f², partial eta², odds ratios, log-odds, Number Needed to Treat (NNT), risk ratios, and percent changes.

Usage

effect_size_convert(
  value,
  from = "cohens_d",
  to = NULL,
  sd_outcome = 1,
  sd_treatment = 1,
  baseline_risk = 0.1,
  verbose = TRUE
)

Arguments

value

Numeric. The effect size value to convert from.

from

Character. Input metric. One of: "unstd" (raw coefficient), "cohens_d", "cohens_f2", "eta2", "or" (odds ratio), "log_or" (log odds ratio), "rr" (risk ratio), "rd" (risk difference), "nnt" (number needed to treat), "pct_change".

to

Character or character vector. Output metric(s). Same choices as from. Default: all available metrics.

sd_outcome

Numeric. Standard deviation of the outcome. Required for converting to/from unstandardized. Default 1.

sd_treatment

Numeric. SD of the treatment. Required for some conversions. Default 1.

baseline_risk

Numeric. Baseline risk P(Y=1 | D=0) for binary outcome conversions. Default 0.1.

verbose

Logical. Print interpretation. Default TRUE.

Value

A named numeric vector of converted effect sizes, or a data frame with interpretation guidelines.

Examples

# Convert Cohen's d = 0.3 to NNT, risk difference, etc.
effect_size_convert(
  value   = 0.3,
  from    = "cohens_d",
  to      = c("nnt", "rd", "pct_change")
)
#> Effect size conversion: from cohens_d = 0.3 
#> 
#>   NNT = 11.1 (treat 11.1 people to prevent 1 event) 
#>   Risk difference = 0.0900 (9.00%) 
#>   Percent change = 30.00% 

# Convert regression coefficient to standardized metrics
effect_size_convert(
  value       = 5.2,
  from        = "unstd",
  sd_outcome  = 15.3
)
#> Effect size conversion: from unstd = 5.2 
#> 
#>   Cohen's d = 0.3399 (small effect) 
#>   cohens_f2 = 0.103550 
#>   eta2 = 0.028067 
#>   OR = 1.8523 
#>   log_or = 0.616455 
#>   RR = 2.0196 
#>   Risk difference = 0.1020 (10.20%) 
#>   NNT = 9.8 (treat 9.8 people to prevent 1 event) 
#>   Percent change = 33.99%