# Error: Argument 'mi' is not supported for family 'bernoulli(logit)'

I am using imputation during model fitting. The outcome variable `treat` is binary while the predictor variable `c1` which has missing values that I want to impute is continuous.

What I want here is to fit the outcome model using family `bernoulli` and to do the imputation of the predictor `c1` using another family, for example `gaussian`.

When I run the model, I get the error:

Error: Argument ‘mi’ is not supported for family ‘bernoulli(logit)’.

``````##my model
bform <- bf(treat | mi()~ mi(c1)+(1|group)) +
bf(c1| mi() ~ c2) + set_rescor(FALSE)

m <-brm(bform, data=dt, family = bernoulli())

##sample data
n r r/n group treat c2 c1 weights
62 3 0.048387097 1 0 0.1438 1.941115288 1.941115288
96 1 0.010416667 1 0 0.237 1.186583128 1.186583128
17 0 0 0 0 0.2774 1.159882668 3.159882668
41 2 0.048780488 1 0 0.2774 1.159882668 3.159882668
212 170 0.801886792 0 0 0.2093 1.133397521 1.133397521
143 21 0.146853147 1 1 0.1206 1.128993008 1.128993008
143 0 0 1 1 0.1707 1.128993008 2.128993008
143 33 0.230769231 0 1 0.0699 1.128993008 1.128993008
73 62 1.260273973 0 1 0.1351 NA 1.121927228
73 17 0.232876712 0 1 0.1206 NA 1.121927228")
``````

Thanks in advance for any help.

See `vignette("brms_multivariate")` for how to specify different families for different models parts.

1 Like

Thanks, @paul.buerkner. `vignette("brms_multivariate")` is straightforward.

I would like to know whether (1) below is doing what I want to accomplish with (2). If not, how could the problem of (2) be solved?

(1) When I fit the multivariate model without adding `| mi()` on the left-hand side of `bf_outcome`, the model runs well:

``````bf_outcome <- bf(treat ~ mi(c1)+(1|group)) + bernoulli()
bf_imputation <-bf(c1| mi() ~ c2) + gaussian()

imputed_fit <-brm(bf_outcome + bf_imputation + set_rescor(FALSE),
data=dt, chains = 2, cores = 2,
)
``````

(2) But when I add `| mi()` on the left-hand side of `bf_outcome` `to ensure that missings in both variables will be modeled rather than excluded`, I get the error message:

``````bf_outcome <- bf(treat | mi()~ mi(c1)+(1|group)) + bernoulli()
bf_imputation <-bf(c1| mi() ~ c2) + gaussian()

imputed_fit <-brm(bf_outcome + bf_imputation + set_rescor(FALSE),
data=dt, chains = 2, cores = 2,