set_covariates {bage} | R Documentation |
Specify Covariates
Description
Add covariates to a model.
Usage
set_covariates(mod, formula)
Arguments
mod |
An object of class |
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 calledxmedium
and one calledxlow
.
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
-
datamods Overview of data models implemented in bage
-
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