Skip to contents

Performs univariate regression for each exposure on a binary, continuous, or count outcome. Depending on `approach`, returns either Odds Ratios (OR), Risk Ratios (RR), or Incidence Rate Ratios (IRR).

Usage

uni_reg(data, outcome, exposures, approach = "logit")

Arguments

data

A data frame containing the variables.

outcome

outcome variable (binary, continuous, or count).

exposures

A vector of predictor variables.

approach

Modeling approach to use. One of: `"logit"` (OR), `"log-binomial"` (RR), `"poisson"` (IRR), `"robpoisson"` (RR), `"linear"` (Beta coefficients), `"negbin"` (IRR)

Value

A list of class `uni_reg` and `gtsummary::tbl_stack`, including:

  • A publication-ready regression table (`tbl_stack`)

  • Accessor elements:

    • `$models`: Fitted regression models for each exposure

    • `$model_summaries`: Tidy model summaries

    • `$reg_check`: Diagnostics (only for linear regression)

Details

This function requires the following packages: `dplyr`, `purrr`, `gtsummary`, `risks`.

See also

Examples

data(PimaIndiansDiabetes2, package = "mlbench")
library(dplyr)
pima <- PimaIndiansDiabetes2 |>
  dplyr::mutate(diabetes = ifelse(diabetes == "pos", 1, 0))
uni_reg(pima, outcome = "diabetes", exposures = "age", approach = "logit")
Characteristic N OR 95% CI p-value
age 768 1.04 1.03, 1.06 <0.001
Abbreviations: CI = Confidence Interval, OR = Odds Ratio