I'll assume a model of the form
eta1 = beta1 * covar1 + field
eta2 = beta2 * covar2 + field
eta3 = eta2 * covar3 + beta4 * covar4
where beta1, beta2, beta4 and the field are latent variables and a latent field, and covar1,covar2,covar3, and covar4 are known covariates.
(It's not clear what your "beta" in your y3 model was supposed to be; I assumed another covariate; the principle is the same if it's something else)
bru(~ 0 + covar1 + covar2 + covar4 + field(geometry, model = matern_model_object),
c(
Model1 = bru_obs(y1 ~ covar1 + field, data = data1),
Model2 = bru_obs(y2 ~ covar2 + field, data = data2),
Model3 = bru_obs(y3 ~ (covar2 + field) * covar3 + covar4, data = data3)
)
)
This assumes data3 contains the values of the covar3 covariate, and it will estimate the beta1, beta2, beta4 coefficients, and the field.
Finn
--