Learn R Programming

bage (version 0.9.4)

set_covariates: Specify Covariates

Description

Add covariates to a model.

Usage

set_covariates(mod, formula)

Value

A modified version of mod

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.

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)$$.

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.

See Also

  • datamods Overview of data models implemented in bage

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

Examples

Run this code
## 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

Run the code above in your browser using DataLab