Let's say I want to simulate a random effect on two levels, i.e. I have two levels of nesting: individuals in the parent group and parent groups in the group of grandparents. I know how to write a base model for one random effect (below) from examples like these , but I don't know how to write an equivalent
lmer(resp ~ (1|a/b), data = DAT)
in lmer.
STAN code for one RE. The question is how to embed a in a higher level b ?
data{ int<lower=0> N; int<lower=0> K; matrix[N,K] X; vector[N] price; int J; int<lower=1,upper=J> re[N]; } parameters{ vector[J] a; real mu_a; real tau; real<lower=0> sigma_a; real<lower=0> sigma; vector[K] beta; } transformed parameters{ vector[N] mu_hat; for(i in 1:N) mu_hat[i] <- a[re[i]]; } model { mu_a ~ normal(0,10); tau ~ cauchy(0,5); a ~ normal(mu_a,sigma_a); for(i in 1:N) price[i] ~ normal(X[i]*beta + mu_hat[i], sigma); } "
source share