set_covariates: Specify Covariates

View source: R/bage_mod-functions.R

set_covariatesR Documentation

Specify Covariates

Description

Add covariates to a model.

Usage

set_covariates(mod, formula)

Arguments

mod

An object of class "bage_mod", created with mod_pois(), mod_binom(), or mod_norm().

formula

A one-sided R formula, specifying the covariates.

Details

If set_covariates() is applied to a model that already has covariates, set_covariates() deletes the existing covariates.

If set_covariates() is applied to a fitted model, set_covariates() unfits the model, deleting existing estimates.

Value

A modified version of mod

Covariate data

All variables contained in the formula argument to set_covariates() should be in the dataset supplied in the original call to mod_pois(), mod_binom(), or mod_norm().

set_covariates() processes the covariate data before adding it to the model:

  • All numeric variables are standardized, using x <- scale(x).

  • Categorical variables are converted to sets of indicator variables, using treatment contrasts. For instance, variable x with categories "high", "medium", and "low", is converted into two indicator variables, one called xmedium and one called xlow.

Mathematical details

When a model includes covariates, the quantity

\pmb{Z} \pmb{\zeta}

is added to the linear predictor, where \pmb{Z} is a matrix of standardized covariates, and \pmb{\zeta} is a vector of coefficients. The elements of \pmb{\zeta} have prior

\zeta_p \sim \text{N}(0, 1)

.

See Also

  • mod_pois(), mod_binom(), mod_norm() Specify a model for rates, probabilities, or means

Examples

## create a COVID covariate
library(dplyr, warn.conflicts = FALSE)
births <- kor_births |>
  mutate(is_covid = time %in% 2020:2022)
mod <- mod_pois(births ~ age * region + time,
                data = births,
                exposure = popn) |>
  set_covariates(~ is_covid)
mod

bage documentation built on Nov. 5, 2025, 5:33 p.m.