Creates a JAGS formula syntax, prepares data input, and
returns modified prior list for further processing in the JAGS_fit
function
JAGS_formula(formula, parameter, data, prior_list)
formula specifying the right hand side of the assignment (the left hand side is ignored)
name of the parameter to be created with the formula
data.frame containing predictors included in the formula
named list of prior distribution of parameters specified within
the formula
JAGS_formula
returns a list containing the formula JAGS syntax,
JAGS data object, and modified prior_list.
# simulate data
set.seed(1)
df <- data.frame(
y = rnorm(60),
x_cont = rnorm(60),
x_bin = rbinom(60, 1, .5),
x_fac3 = factor(rep(c("A", "B", "C"), 20), levels = c("A", "B", "C")),
x_fac4 = factor(rep(c("A", "B", "C", "D"), 15), levels = c("A", "B", "C", "D"))
)
# specify priors
prior_list <- list(
"intercept" = prior("normal", list(0, 1)),
"x_cont" = prior("normal", list(0, .5)),
"x_fac3" = prior_factor("normal", list(0, 1), contrast = "treatment"),
"x_fac4" = prior_factor("mnormal", list(0, 1), contrast = "orthonormal"),
"x_fac3:x_fac4" = prior_factor("mnormal", list(0, .5), contrast = "orthonormal")
)
# create the formula object
formula <- JAGS_formula(
formula = ~ x_cont + x_fac3 * x_fac4,
parameter = "mu", data = df, prior_list = prior_list)