$m0a
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- 0
  }



  # Priors for the model for o1
  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1]) 
 
}
$m0b
model { 

 
  # Cumulative logit mixed effects model for o2 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o2[i, 1:4])
    eta_o2[i] <- b_o2_id[group_id[i], 1]

    p_o2[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o2[i, 2:4])))
    p_o2[i, 2] <- max(1e-10, min(1-1e-10, psum_o2[i, 1] - psum_o2[i, 2]))
    p_o2[i, 3] <- max(1e-10, min(1-1e-10, psum_o2[i, 2] - psum_o2[i, 3]))
    p_o2[i, 4] <- max(1e-10, min(1-1e-10, psum_o2[i, 3]))

    logit(psum_o2[i, 1]) <- gamma_o2[1] + eta_o2[i]
    logit(psum_o2[i, 2]) <- gamma_o2[2] + eta_o2[i]
    logit(psum_o2[i, 3]) <- gamma_o2[3] + eta_o2[i]

  }

  for (ii in 1:100) {
    b_o2_id[ii, 1:1] ~ dnorm(mu_b_o2_id[ii, ], invD_o2_id[ , ])
    mu_b_o2_id[ii, 1] <- 0
  }



  # Priors for the model for o2
  delta_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_o2[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o2[2] <- gamma_o2[1] - exp(delta_o2[1])
  gamma_o2[3] <- gamma_o2[2] - exp(delta_o2[2])

  invD_o2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o2_id[1, 1] <- 1 / (invD_o2_id[1, 1]) 
 
}
$m1a
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * beta[1]
  }



  # Priors for the model for o1
  for (k in 1:1) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1]) 
 
}
$m1b
model { 

 
  # Cumulative logit mixed effects model for o2 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o2[i, 1:4])
    eta_o2[i] <- b_o2_id[group_id[i], 1]

    p_o2[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o2[i, 2:4])))
    p_o2[i, 2] <- max(1e-10, min(1-1e-10, psum_o2[i, 1] - psum_o2[i, 2]))
    p_o2[i, 3] <- max(1e-10, min(1-1e-10, psum_o2[i, 2] - psum_o2[i, 3]))
    p_o2[i, 4] <- max(1e-10, min(1-1e-10, psum_o2[i, 3]))

    logit(psum_o2[i, 1]) <- gamma_o2[1] + eta_o2[i]
    logit(psum_o2[i, 2]) <- gamma_o2[2] + eta_o2[i]
    logit(psum_o2[i, 3]) <- gamma_o2[3] + eta_o2[i]

  }

  for (ii in 1:100) {
    b_o2_id[ii, 1:1] ~ dnorm(mu_b_o2_id[ii, ], invD_o2_id[ , ])
    mu_b_o2_id[ii, 1] <- (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * beta[1]
  }



  # Priors for the model for o2
  for (k in 1:1) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_o2[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o2[2] <- gamma_o2[1] - exp(delta_o2[1])
  gamma_o2[3] <- gamma_o2[2] - exp(delta_o2[2])

  invD_o2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o2_id[1, 1] <- 1 / (invD_o2_id[1, 1]) 
 
}
$m1c
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1] +
                 beta[1] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- 0
  }



  # Priors for the model for o1
  for (k in 1:1) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1]) 
 
}
$m1d
model { 

 
  # Cumulative logit mixed effects model for o2 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o2[i, 1:4])
    eta_o2[i] <- b_o2_id[group_id[i], 1] +
                 beta[1] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]

    p_o2[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o2[i, 2:4])))
    p_o2[i, 2] <- max(1e-10, min(1-1e-10, psum_o2[i, 1] - psum_o2[i, 2]))
    p_o2[i, 3] <- max(1e-10, min(1-1e-10, psum_o2[i, 2] - psum_o2[i, 3]))
    p_o2[i, 4] <- max(1e-10, min(1-1e-10, psum_o2[i, 3]))

    logit(psum_o2[i, 1]) <- gamma_o2[1] + eta_o2[i]
    logit(psum_o2[i, 2]) <- gamma_o2[2] + eta_o2[i]
    logit(psum_o2[i, 3]) <- gamma_o2[3] + eta_o2[i]

  }

  for (ii in 1:100) {
    b_o2_id[ii, 1:1] ~ dnorm(mu_b_o2_id[ii, ], invD_o2_id[ , ])
    mu_b_o2_id[ii, 1] <- 0
  }



  # Priors for the model for o2
  for (k in 1:1) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_o2[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o2[2] <- gamma_o2[1] - exp(delta_o2[1])
  gamma_o2[3] <- gamma_o2[2] - exp(delta_o2[2])

  invD_o2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o2_id[1, 1] <- 1 / (invD_o2_id[1, 1]) 
 
}
$m2a
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- (M_id[ii, 1] - spM_id[1, 1])/spM_id[1, 2] * beta[1]
  }



  # Priors for the model for o1
  for (k in 1:1) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])



  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 2] * alpha[1]
  }

  # Priors for the model for C2
  for (k in 1:1) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)
 
 
}
$m2b
model { 

 
  # Cumulative logit mixed effects model for o2 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o2[i, 1:4])
    eta_o2[i] <- b_o2_id[group_id[i], 1]

    p_o2[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o2[i, 2:4])))
    p_o2[i, 2] <- max(1e-10, min(1-1e-10, psum_o2[i, 1] - psum_o2[i, 2]))
    p_o2[i, 3] <- max(1e-10, min(1-1e-10, psum_o2[i, 2] - psum_o2[i, 3]))
    p_o2[i, 4] <- max(1e-10, min(1-1e-10, psum_o2[i, 3]))

    logit(psum_o2[i, 1]) <- gamma_o2[1] + eta_o2[i]
    logit(psum_o2[i, 2]) <- gamma_o2[2] + eta_o2[i]
    logit(psum_o2[i, 3]) <- gamma_o2[3] + eta_o2[i]

  }

  for (ii in 1:100) {
    b_o2_id[ii, 1:1] ~ dnorm(mu_b_o2_id[ii, ], invD_o2_id[ , ])
    mu_b_o2_id[ii, 1] <- (M_id[ii, 1] - spM_id[1, 1])/spM_id[1, 2] * beta[1]
  }



  # Priors for the model for o2
  for (k in 1:1) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_o2[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o2[2] <- gamma_o2[1] - exp(delta_o2[1])
  gamma_o2[3] <- gamma_o2[2] - exp(delta_o2[2])

  invD_o2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o2_id[1, 1] <- 1 / (invD_o2_id[1, 1])



  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 2] * alpha[1]
  }

  # Priors for the model for C2
  for (k in 1:1) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)
 
 
}
$m2c
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1] +
                 beta[1] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- 0
  }



  # Priors for the model for o1
  for (k in 1:1) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Normal mixed effects model for c2 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_c2[i], tau_c2)
    mu_c2[i] <- b_c2_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c2_id[ii, 1:1] ~ dnorm(mu_b_c2_id[ii, ], invD_c2_id[ , ])
    mu_b_c2_id[ii, 1] <- M_id[ii, 1] * alpha[1]
  }

  # Priors for the model for c2
  for (k in 1:1) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c2 <- sqrt(1/tau_c2)

  invD_c2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c2_id[1, 1] <- 1 / (invD_c2_id[1, 1]) 
 
}
$m2d
model { 

 
  # Cumulative logit mixed effects model for o2 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o2[i, 1:4])
    eta_o2[i] <- b_o2_id[group_id[i], 1] +
                 beta[1] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]

    p_o2[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o2[i, 2:4])))
    p_o2[i, 2] <- max(1e-10, min(1-1e-10, psum_o2[i, 1] - psum_o2[i, 2]))
    p_o2[i, 3] <- max(1e-10, min(1-1e-10, psum_o2[i, 2] - psum_o2[i, 3]))
    p_o2[i, 4] <- max(1e-10, min(1-1e-10, psum_o2[i, 3]))

    logit(psum_o2[i, 1]) <- gamma_o2[1] + eta_o2[i]
    logit(psum_o2[i, 2]) <- gamma_o2[2] + eta_o2[i]
    logit(psum_o2[i, 3]) <- gamma_o2[3] + eta_o2[i]

  }

  for (ii in 1:100) {
    b_o2_id[ii, 1:1] ~ dnorm(mu_b_o2_id[ii, ], invD_o2_id[ , ])
    mu_b_o2_id[ii, 1] <- 0
  }



  # Priors for the model for o2
  for (k in 1:1) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_o2[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o2[2] <- gamma_o2[1] - exp(delta_o2[1])
  gamma_o2[3] <- gamma_o2[2] - exp(delta_o2[2])

  invD_o2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o2_id[1, 1] <- 1 / (invD_o2_id[1, 1])


  # Normal mixed effects model for c2 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_c2[i], tau_c2)
    mu_c2[i] <- b_c2_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c2_id[ii, 1:1] ~ dnorm(mu_b_c2_id[ii, ], invD_c2_id[ , ])
    mu_b_c2_id[ii, 1] <- M_id[ii, 1] * alpha[1]
  }

  # Priors for the model for c2
  for (k in 1:1) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c2 <- sqrt(1/tau_c2)

  invD_c2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c2_id[1, 1] <- 1 / (invD_c2_id[1, 1]) 
 
}
$m3a
model { 

   # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1] + beta[2] * M_lvlone[i, 2] +
                beta[3] * M_lvlone[i, 3]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 1] * beta[1]
  }

  # Priors for the model for c1
  for (k in 1:3) {
    beta[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1]) 
 
}
$m3b
model { 

   # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1] + beta[2] * M_lvlone[i, 3] +
                beta[3] * M_lvlone[i, 4] + beta[4] * M_lvlone[i, 5]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 1] * beta[1]
  }

  # Priors for the model for c1
  for (k in 1:4) {
    beta[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1])



  # Cumulative logit mixed effects model for o2 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dcat(p_o2[i, 1:4])
    eta_o2[i] <- b_o2_id[group_id[i], 1]

    p_o2[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o2[i, 2:4])))
    p_o2[i, 2] <- max(1e-10, min(1-1e-10, psum_o2[i, 1] - psum_o2[i, 2]))
    p_o2[i, 3] <- max(1e-10, min(1-1e-10, psum_o2[i, 2] - psum_o2[i, 3]))
    p_o2[i, 4] <- max(1e-10, min(1-1e-10, psum_o2[i, 3]))

    logit(psum_o2[i, 1]) <- gamma_o2[1] + eta_o2[i]
    logit(psum_o2[i, 2]) <- gamma_o2[2] + eta_o2[i]
    logit(psum_o2[i, 3]) <- gamma_o2[3] + eta_o2[i]

    M_lvlone[i, 3] <- ifelse(M_lvlone[i, 2] == 2, 1, 0)
    M_lvlone[i, 4] <- ifelse(M_lvlone[i, 2] == 3, 1, 0)
    M_lvlone[i, 5] <- ifelse(M_lvlone[i, 2] == 4, 1, 0)

  }

  for (ii in 1:100) {
    b_o2_id[ii, 1:1] ~ dnorm(mu_b_o2_id[ii, ], invD_o2_id[ , ])
    mu_b_o2_id[ii, 1] <- 0
  }



  # Priors for the model for o2
  delta_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_o2[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o2[2] <- gamma_o2[1] - exp(delta_o2[1])
  gamma_o2[3] <- gamma_o2[2] - exp(delta_o2[2])

  invD_o2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o2_id[1, 1] <- 1 / (invD_o2_id[1, 1]) 
 
}
$m4a
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1] + beta[6] * M_lvlone[i, 3] +
                 beta[7] * M_lvlone[i, 4] + beta[8] * M_lvlone[i, 5] +
                 beta[9] * (M_lvlone[i, 6] - spM_lvlone[6, 1])/spM_lvlone[6, 2] +
                 beta[10] * (M_lvlone[i, 7] - spM_lvlone[7, 1])/spM_lvlone[7, 2] +
                 beta[11] * (M_lvlone[i, 8] - spM_lvlone[8, 1])/spM_lvlone[8, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- M_id[ii, 4] * beta[1] + M_id[ii, 5] * beta[2] +
                         M_id[ii, 6] * beta[3] +
                         (M_id[ii, 7] - spM_id[7, 1])/spM_id[7, 2] * beta[4] +
                         (M_id[ii, 8] - spM_id[8, 1])/spM_id[8, 2] * beta[5]
  }



  # Priors for the model for o1
  for (k in 1:11) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])



  # Cumulative logit mixed effects model for o2 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dcat(p_o2[i, 1:4])
    eta_o2[i] <- b_o2_id[group_id[i], 1]

    p_o2[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o2[i, 2:4])))
    p_o2[i, 2] <- max(1e-10, min(1-1e-10, psum_o2[i, 1] - psum_o2[i, 2]))
    p_o2[i, 3] <- max(1e-10, min(1-1e-10, psum_o2[i, 2] - psum_o2[i, 3]))
    p_o2[i, 4] <- max(1e-10, min(1-1e-10, psum_o2[i, 3]))

    logit(psum_o2[i, 1]) <- gamma_o2[1] + eta_o2[i]
    logit(psum_o2[i, 2]) <- gamma_o2[2] + eta_o2[i]
    logit(psum_o2[i, 3]) <- gamma_o2[3] + eta_o2[i]

    M_lvlone[i, 3] <- ifelse(M_lvlone[i, 2] == 2, 1, 0)
    M_lvlone[i, 4] <- ifelse(M_lvlone[i, 2] == 3, 1, 0)
    M_lvlone[i, 5] <- ifelse(M_lvlone[i, 2] == 4, 1, 0)

  }

  for (ii in 1:100) {
    b_o2_id[ii, 1:1] ~ dnorm(mu_b_o2_id[ii, ], invD_o2_id[ , ])
    mu_b_o2_id[ii, 1] <- M_id[ii, 4] * alpha[1] + M_id[ii, 5] * alpha[2] +
                         M_id[ii, 6] * alpha[3] +
                         (M_id[ii, 9] - spM_id[9, 1])/spM_id[9, 2] * alpha[4] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[5]
  }



  # Priors for the model for o2
  for (k in 1:5) {
    alpha[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_o2[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o2[2] <- gamma_o2[1] - exp(delta_o2[1])
  gamma_o2[3] <- gamma_o2[2] - exp(delta_o2[2])

  invD_o2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o2_id[1, 1] <- 1 / (invD_o2_id[1, 1])


  # Multinomial logit model for M2 ------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dcat(p_M2[ii, 1:4])

    p_M2[ii, 1] <- min(1-1e-7, max(1e-7, phi_M2[ii, 1] / sum(phi_M2[ii, ])))
    p_M2[ii, 2] <- min(1-1e-7, max(1e-7, phi_M2[ii, 2] / sum(phi_M2[ii, ])))
    p_M2[ii, 3] <- min(1-1e-7, max(1e-7, phi_M2[ii, 3] / sum(phi_M2[ii, ])))
    p_M2[ii, 4] <- min(1-1e-7, max(1e-7, phi_M2[ii, 4] / sum(phi_M2[ii, ])))

    log(phi_M2[ii, 1]) <- 0
    log(phi_M2[ii, 2]) <- M_id[ii, 3] * alpha[6] +
                         (M_id[ii, 9] - spM_id[9, 1])/spM_id[9, 2] * alpha[7] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[8]
    log(phi_M2[ii, 3]) <- M_id[ii, 3] * alpha[9] +
                         (M_id[ii, 9] - spM_id[9, 1])/spM_id[9, 2] * alpha[10] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[11]
    log(phi_M2[ii, 4]) <- M_id[ii, 3] * alpha[12] +
                         (M_id[ii, 9] - spM_id[9, 1])/spM_id[9, 2] * alpha[13] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[14]

    M_id[ii, 4] <- ifelse(M_id[ii, 1] == 2, 1, 0)
    M_id[ii, 5] <- ifelse(M_id[ii, 1] == 3, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 1] == 4, 1, 0)

  }

  # Priors for the model for M2
  for (k in 6:14) {
    alpha[k] ~ dnorm(mu_reg_multinomial, tau_reg_multinomial)
  }




  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 3] * alpha[15] +
                (M_id[ii, 9] - spM_id[9, 1])/spM_id[9, 2] * alpha[16]

    M_id[ii, 7] <- abs(M_id[ii, 9] - M_id[ii, 2])


  }

  # Priors for the model for C2
  for (k in 15:16) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)
 
 
  # Re-calculate interaction terms
  for (i in 1:329) {
    M_lvlone[i, 6] <- M_lvlone[i, 3] * M_id[group_id[i], 7]
    M_lvlone[i, 7] <- M_lvlone[i, 4] * M_id[group_id[i], 7]
    M_lvlone[i, 8] <- M_lvlone[i, 5] * M_id[group_id[i], 7]
  }

 
}
$m4b
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1] +
                 beta[3] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2] +
                 beta[4] * (M_lvlone[i, 4] - spM_lvlone[4, 1])/spM_lvlone[4, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- (M_id[ii, 3] - spM_id[3, 1])/spM_id[3, 2] * beta[1] +
                         (M_id[ii, 4] - spM_id[4, 1])/spM_id[4, 2] * beta[2]
  }



  # Priors for the model for o1
  for (k in 1:4) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])



  # Cumulative logit mixed effects model for o2 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dcat(p_o2[i, 1:4])
    eta_o2[i] <- b_o2_id[group_id[i], 1]

    p_o2[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o2[i, 2:4])))
    p_o2[i, 2] <- max(1e-10, min(1-1e-10, psum_o2[i, 1] - psum_o2[i, 2]))
    p_o2[i, 3] <- max(1e-10, min(1-1e-10, psum_o2[i, 2] - psum_o2[i, 3]))
    p_o2[i, 4] <- max(1e-10, min(1-1e-10, psum_o2[i, 3]))

    logit(psum_o2[i, 1]) <- gamma_o2[1] + eta_o2[i]
    logit(psum_o2[i, 2]) <- gamma_o2[2] + eta_o2[i]
    logit(psum_o2[i, 3]) <- gamma_o2[3] + eta_o2[i]

    M_lvlone[i, 5] <- ifelse(M_lvlone[i, 2] == 2, 1, 0)
    M_lvlone[i, 6] <- ifelse(M_lvlone[i, 2] == 3, 1, 0)
    M_lvlone[i, 7] <- ifelse(M_lvlone[i, 2] == 4, 1, 0)


    M_lvlone[i, 3] <- ifelse((M_lvlone[i, 2]) > (M_id[group_id[i], 9]), 1, 0)


  }

  for (ii in 1:100) {
    b_o2_id[ii, 1:1] ~ dnorm(mu_b_o2_id[ii, ], invD_o2_id[ , ])
    mu_b_o2_id[ii, 1] <- M_id[ii, 5] * alpha[1] + M_id[ii, 6] * alpha[2] +
                         M_id[ii, 7] * alpha[3] +
                         (M_id[ii, 8] - spM_id[8, 1])/spM_id[8, 2] * alpha[4] +
                         (M_id[ii, 1] - spM_id[1, 1])/spM_id[1, 2] * alpha[5]
  }



  # Priors for the model for o2
  for (k in 1:5) {
    alpha[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_o2[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o2[2] <- gamma_o2[1] - exp(delta_o2[1])
  gamma_o2[3] <- gamma_o2[2] - exp(delta_o2[2])

  invD_o2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o2_id[1, 1] <- 1 / (invD_o2_id[1, 1])



  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 2] * alpha[6] + M_id[ii, 5] * alpha[7] + M_id[ii, 6] * alpha[8] +
                M_id[ii, 7] * alpha[9] +
                (M_id[ii, 8] - spM_id[8, 1])/spM_id[8, 2] * alpha[10]

    M_id[ii, 3] <- abs(M_id[ii, 8] - M_id[ii, 1])


  }

  # Priors for the model for C2
  for (k in 6:10) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)
 
 
  # Re-calculate interaction terms
  for (i in 1:329) {
    M_lvlone[i, 4] <- M_lvlone[i, 3] * M_id[group_id[i], 3]
  }

 
}
$m4c
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1] +
                 b_o1_id[group_id[i], 2] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2] +
                 b_o1_id[group_id[i], 3] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2] +
                 b_o1_id[group_id[i], 4] * (M_lvlone[i, 4] - spM_lvlone[4, 1])/spM_lvlone[4, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:4] ~ dmnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- (M_id[ii, 3] - spM_id[3, 1])/spM_id[3, 2] * beta[1] +
                         M_id[ii, 4] * beta[2]
    mu_b_o1_id[ii, 2] <- beta[4]
    mu_b_o1_id[ii, 3] <- beta[3]
    mu_b_o1_id[ii, 4] <- 0
  }



  # Priors for the model for o1
  for (k in 1:4) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  for (k in 1:4) {
    RinvD_o1_id[k, k] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)
  }
  invD_o1_id[1:4, 1:4] ~ dwish(RinvD_o1_id[ , ], KinvD_o1_id)
  D_o1_id[1:4, 1:4] <- inverse(invD_o1_id[ , ])


  # Normal mixed effects model for time -------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_time[i], tau_time)
    mu_time[i] <- b_time_id[group_id[i], 1] +
                  alpha[4] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2]
  }

  for (ii in 1:100) {
    b_time_id[ii, 1:1] ~ dnorm(mu_b_time_id[ii, ], invD_time_id[ , ])
    mu_b_time_id[ii, 1] <- M_id[ii, 2] * alpha[1] +
                           (M_id[ii, 3] - spM_id[3, 1])/spM_id[3, 2] * alpha[2] +
                           M_id[ii, 4] * alpha[3]
  }

  # Priors for the model for time
  for (k in 1:4) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_time ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_time <- sqrt(1/tau_time)

  invD_time_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_time_id[1, 1] <- 1 / (invD_time_id[1, 1])


  # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 3] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 2] * alpha[5] +
                         (M_id[ii, 3] - spM_id[3, 1])/spM_id[3, 2] * alpha[6] +
                         M_id[ii, 4] * alpha[7]
  }

  # Priors for the model for c1
  for (k in 5:7) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1])



  # Binomial model for B2 ---------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dbern(max(1e-16, min(1 - 1e-16, mu_B2[ii])))
    logit(mu_B2[ii]) <- M_id[ii, 2] * alpha[8] +
                       (M_id[ii, 3] - spM_id[3, 1])/spM_id[3, 2] * alpha[9]

    M_id[ii, 4] <- ifelse(M_id[ii, 1] == 1, 1, 0)

  }

  # Priors for the model for B2
  for (k in 8:9) {
    alpha[k] ~ dnorm(mu_reg_binom, tau_reg_binom)
  }
 
 
}
$m4d
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1] +
                 b_o1_id[group_id[i], 2] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2] +
                 beta[3] * (M_lvlone[i, 4] - spM_lvlone[4, 1])/spM_lvlone[4, 2] +
                 beta[4] * M_lvlone[i, 5] +
                 beta[5] * (M_lvlone[i, 6] - spM_lvlone[6, 1])/spM_lvlone[6, 2] +
                 beta[7] * (M_lvlone[i, 8] - spM_lvlone[8, 1])/spM_lvlone[8, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:2] ~ dmnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * beta[1]
    mu_b_o1_id[ii, 2] <- beta[2] + (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * beta[6]
  }



  # Priors for the model for o1
  for (k in 1:7) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  for (k in 1:2) {
    RinvD_o1_id[k, k] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)
  }
  invD_o1_id[1:2, 1:2] ~ dwish(RinvD_o1_id[ , ], KinvD_o1_id)
  D_o1_id[1:2, 1:2] <- inverse(invD_o1_id[ , ])


  # Binomial mixed effects model for b2 -------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dbern(max(1e-16, min(1 - 1e-16, mu_b2[i])))
    logit(mu_b2[i]) <- b_b2_id[group_id[i], 1] +
                       alpha[3] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2] +
                       alpha[4] * (M_lvlone[i, 6] - spM_lvlone[6, 1])/spM_lvlone[6, 2]


    M_lvlone[i, 5] <- ifelse(M_lvlone[i, 2] == 1, 1, 0)
  }

  for (ii in 1:100) {
    b_b2_id[ii, 1:1] ~ dnorm(mu_b_b2_id[ii, ], invD_b2_id[ , ])
    mu_b_b2_id[ii, 1] <- M_id[ii, 1] * alpha[1] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[2]
  }

  # Priors for the model for b2
  for (k in 1:4) {
    alpha[k] ~ dnorm(mu_reg_binom, tau_reg_binom)
  }

  invD_b2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_b2_id[1, 1] <- 1 / (invD_b2_id[1, 1]) 
 
  # Re-calculate interaction terms
  for (i in 1:329) {
    M_lvlone[i, 8] <- M_lvlone[i, 5] * M_lvlone[i, 6]
  }

 
}
$m4e
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1] +
                 beta[2] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2] +
                 beta[3] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2] +
                 beta[4] * (M_lvlone[i, 4] - spM_lvlone[4, 1])/spM_lvlone[4, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * beta[1]
  }



  # Priors for the model for o1
  for (k in 1:4) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal_ridge_beta[k])
    tau_reg_ordinal_ridge_beta[k] ~ dgamma(0.01, 0.01)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1]) 
 
}
$m5a
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    eta_o1_1[i] <- beta[3] * (M_id[group_id[i], 4] - spM_id[4, 1])/spM_id[4, 2] +
                   beta[4] * (M_id[group_id[i], 1] - spM_id[1, 1])/spM_id[1, 2] +
                   beta[7] * M_lvlone[i, 3]
    eta_o1_2[i] <- beta[5] * (M_id[group_id[i], 4] - spM_id[4, 1])/spM_id[4, 2] +
                   beta[6] * (M_id[group_id[i], 1] - spM_id[1, 1])/spM_id[1, 2] +
                   beta[8] * M_lvlone[i, 3]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i] + eta_o1_1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i] + eta_o1_2[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- M_id[ii, 5] * beta[1] + M_id[ii, 6] * beta[2]
  }



  # Priors for the model for o1
  for (k in 1:8) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Binomial mixed effects model for b2 -------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dbern(max(1e-16, min(1 - 1e-16, mu_b2[i])))
    logit(mu_b2[i]) <- b_b2_id[group_id[i], 1]


    M_lvlone[i, 3] <- ifelse(M_lvlone[i, 2] == 1, 1, 0)
  }

  for (ii in 1:100) {
    b_b2_id[ii, 1:1] ~ dnorm(mu_b_b2_id[ii, ], invD_b2_id[ , ])
    mu_b_b2_id[ii, 1] <- M_id[ii, 3] * alpha[1] +
                         (M_id[ii, 4] - spM_id[4, 1])/spM_id[4, 2] * alpha[2] +
                         (M_id[ii, 1] - spM_id[1, 1])/spM_id[1, 2] * alpha[3] +
                         M_id[ii, 5] * alpha[4] + M_id[ii, 6] * alpha[5]
  }

  # Priors for the model for b2
  for (k in 1:5) {
    alpha[k] ~ dnorm(mu_reg_binom, tau_reg_binom)
  }

  invD_b2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_b2_id[1, 1] <- 1 / (invD_b2_id[1, 1])



  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 3] * alpha[6] +
                (M_id[ii, 4] - spM_id[4, 1])/spM_id[4, 2] * alpha[7] +
                M_id[ii, 5] * alpha[8] + M_id[ii, 6] * alpha[9]
  }

  # Priors for the model for C2
  for (k in 6:9) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)




  # Cumulative logit model for O2 -------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dcat(p_O2[ii, 1:3])
    eta_O2[ii] <- (M_id[ii, 4] - spM_id[4, 1])/spM_id[4, 2] * alpha[10]

    p_O2[ii, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_O2[ii, 2:3])))
    p_O2[ii, 2] <- max(1e-10, min(1-1e-10, psum_O2[ii, 1] - psum_O2[ii, 2]))
    p_O2[ii, 3] <- max(1e-10, min(1-1e-10, psum_O2[ii, 2]))

    logit(psum_O2[ii, 1]) <- gamma_O2[1] + eta_O2[ii]
    logit(psum_O2[ii, 2]) <- gamma_O2[2] + eta_O2[ii]

    M_id[ii, 5] <- ifelse(M_id[ii, 2] == 2, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 2] == 3, 1, 0)
  }

  # Priors for the model for O2
  for (k in 10:10) {
    alpha[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }

  delta_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_O2[2] <- gamma_O2[1] - exp(delta_O2[1]) 
 
}
$m5b
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1] +
                 beta[8] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2]

    eta_o1_1[i] <- beta[6] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[9] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]
    eta_o1_2[i] <- beta[7] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[10] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i] + eta_o1_1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i] + eta_o1_2[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- M_id[ii, 5] * beta[1] + M_id[ii, 6] * beta[2] +
                         M_id[ii, 7] * beta[3] + M_id[ii, 8] * beta[4] +
                         M_id[ii, 9] * beta[5]
  }



  # Priors for the model for o1
  for (k in 1:10) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 4] * alpha[1] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[2] +
                         M_id[ii, 5] * alpha[3] + M_id[ii, 6] * alpha[4] +
                         M_id[ii, 7] * alpha[5] + M_id[ii, 8] * alpha[6] +
                         M_id[ii, 9] * alpha[7]
  }

  # Priors for the model for c1
  for (k in 1:7) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1])


  # Multinomial logit model for M2 ------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dcat(p_M2[ii, 1:4])

    p_M2[ii, 1] <- min(1-1e-7, max(1e-7, phi_M2[ii, 1] / sum(phi_M2[ii, ])))
    p_M2[ii, 2] <- min(1-1e-7, max(1e-7, phi_M2[ii, 2] / sum(phi_M2[ii, ])))
    p_M2[ii, 3] <- min(1-1e-7, max(1e-7, phi_M2[ii, 3] / sum(phi_M2[ii, ])))
    p_M2[ii, 4] <- min(1-1e-7, max(1e-7, phi_M2[ii, 4] / sum(phi_M2[ii, ])))

    log(phi_M2[ii, 1]) <- 0
    log(phi_M2[ii, 2]) <- M_id[ii, 4] * alpha[8] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[9] +
                         M_id[ii, 8] * alpha[10] + M_id[ii, 9] * alpha[11]
    log(phi_M2[ii, 3]) <- M_id[ii, 4] * alpha[12] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[13] +
                         M_id[ii, 8] * alpha[14] + M_id[ii, 9] * alpha[15]
    log(phi_M2[ii, 4]) <- M_id[ii, 4] * alpha[16] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[17] +
                         M_id[ii, 8] * alpha[18] + M_id[ii, 9] * alpha[19]

    M_id[ii, 5] <- ifelse(M_id[ii, 1] == 2, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 1] == 3, 1, 0)
    M_id[ii, 7] <- ifelse(M_id[ii, 1] == 4, 1, 0)

  }

  # Priors for the model for M2
  for (k in 8:19) {
    alpha[k] ~ dnorm(mu_reg_multinomial, tau_reg_multinomial)
  }




  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 4] * alpha[20] + M_id[ii, 8] * alpha[21] +
                M_id[ii, 9] * alpha[22]
  }

  # Priors for the model for C2
  for (k in 20:22) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)




  # Cumulative logit model for O2 -------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 3] ~ dcat(p_O2[ii, 1:3])
    eta_O2[ii] <- 0

    p_O2[ii, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_O2[ii, 2:3])))
    p_O2[ii, 2] <- max(1e-10, min(1-1e-10, psum_O2[ii, 1] - psum_O2[ii, 2]))
    p_O2[ii, 3] <- max(1e-10, min(1-1e-10, psum_O2[ii, 2]))

    logit(psum_O2[ii, 1]) <- gamma_O2[1] + eta_O2[ii]
    logit(psum_O2[ii, 2]) <- gamma_O2[2] + eta_O2[ii]

    M_id[ii, 8] <- ifelse(M_id[ii, 3] == 2, 1, 0)
    M_id[ii, 9] <- ifelse(M_id[ii, 3] == 3, 1, 0)
  }

  # Priors for the model for O2
  delta_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_O2[2] <- gamma_O2[1] - exp(delta_O2[1]) 
 
  # Re-calculate interaction terms
  for (i in 1:329) {
    M_lvlone[i, 3] <- M_lvlone[i, 2] * M_id[group_id[i], 2]
  }

 
}
$m5c
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    eta_o1_1[i] <- beta[6] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[8] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2] +
                   beta[9] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2]
    eta_o1_2[i] <- beta[7] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[10] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2] +
                   beta[11] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i] + eta_o1_1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i] + eta_o1_2[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- M_id[ii, 5] * beta[1] + M_id[ii, 6] * beta[2] +
                         M_id[ii, 7] * beta[3] + M_id[ii, 8] * beta[4] +
                         M_id[ii, 9] * beta[5]
  }



  # Priors for the model for o1
  for (k in 1:11) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 4] * alpha[1] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[2] +
                         M_id[ii, 5] * alpha[3] + M_id[ii, 6] * alpha[4] +
                         M_id[ii, 7] * alpha[5] + M_id[ii, 8] * alpha[6] +
                         M_id[ii, 9] * alpha[7]
  }

  # Priors for the model for c1
  for (k in 1:7) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1])


  # Multinomial logit model for M2 ------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dcat(p_M2[ii, 1:4])

    p_M2[ii, 1] <- min(1-1e-7, max(1e-7, phi_M2[ii, 1] / sum(phi_M2[ii, ])))
    p_M2[ii, 2] <- min(1-1e-7, max(1e-7, phi_M2[ii, 2] / sum(phi_M2[ii, ])))
    p_M2[ii, 3] <- min(1-1e-7, max(1e-7, phi_M2[ii, 3] / sum(phi_M2[ii, ])))
    p_M2[ii, 4] <- min(1-1e-7, max(1e-7, phi_M2[ii, 4] / sum(phi_M2[ii, ])))

    log(phi_M2[ii, 1]) <- 0
    log(phi_M2[ii, 2]) <- M_id[ii, 4] * alpha[8] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[9] +
                         M_id[ii, 8] * alpha[10] + M_id[ii, 9] * alpha[11]
    log(phi_M2[ii, 3]) <- M_id[ii, 4] * alpha[12] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[13] +
                         M_id[ii, 8] * alpha[14] + M_id[ii, 9] * alpha[15]
    log(phi_M2[ii, 4]) <- M_id[ii, 4] * alpha[16] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[17] +
                         M_id[ii, 8] * alpha[18] + M_id[ii, 9] * alpha[19]

    M_id[ii, 5] <- ifelse(M_id[ii, 1] == 2, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 1] == 3, 1, 0)
    M_id[ii, 7] <- ifelse(M_id[ii, 1] == 4, 1, 0)

  }

  # Priors for the model for M2
  for (k in 8:19) {
    alpha[k] ~ dnorm(mu_reg_multinomial, tau_reg_multinomial)
  }




  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 4] * alpha[20] + M_id[ii, 8] * alpha[21] +
                M_id[ii, 9] * alpha[22]
  }

  # Priors for the model for C2
  for (k in 20:22) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)




  # Cumulative logit model for O2 -------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 3] ~ dcat(p_O2[ii, 1:3])
    eta_O2[ii] <- 0

    p_O2[ii, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_O2[ii, 2:3])))
    p_O2[ii, 2] <- max(1e-10, min(1-1e-10, psum_O2[ii, 1] - psum_O2[ii, 2]))
    p_O2[ii, 3] <- max(1e-10, min(1-1e-10, psum_O2[ii, 2]))

    logit(psum_O2[ii, 1]) <- gamma_O2[1] + eta_O2[ii]
    logit(psum_O2[ii, 2]) <- gamma_O2[2] + eta_O2[ii]

    M_id[ii, 8] <- ifelse(M_id[ii, 3] == 2, 1, 0)
    M_id[ii, 9] <- ifelse(M_id[ii, 3] == 3, 1, 0)
  }

  # Priors for the model for O2
  delta_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_O2[2] <- gamma_O2[1] - exp(delta_O2[1]) 
 
  # Re-calculate interaction terms
  for (i in 1:329) {
    M_lvlone[i, 3] <- M_lvlone[i, 2] * M_id[group_id[i], 2]
  }

 
}
$m5d
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    eta_o1_1[i] <- beta[9] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[11] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]
    eta_o1_2[i] <- beta[10] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[12] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i] + eta_o1_1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i] + eta_o1_2[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- M_id[ii, 5] * beta[1] + M_id[ii, 6] * beta[2] +
                         M_id[ii, 7] * beta[3] + M_id[ii, 8] * beta[4] +
                         M_id[ii, 9] * beta[5] +
                         (M_id[ii, 10] - spM_id[10, 1])/spM_id[10, 2] * beta[6] +
                         (M_id[ii, 11] - spM_id[11, 1])/spM_id[11, 2] * beta[7] +
                         (M_id[ii, 12] - spM_id[12, 1])/spM_id[12, 2] * beta[8]
  }



  # Priors for the model for o1
  for (k in 1:12) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 4] * alpha[1] + M_id[ii, 5] * alpha[2] +
                         M_id[ii, 6] * alpha[3] + M_id[ii, 7] * alpha[4] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[5] +
                         M_id[ii, 8] * alpha[6] + M_id[ii, 9] * alpha[7]
  }

  # Priors for the model for c1
  for (k in 1:7) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1])


  # Multinomial logit model for M2 ------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dcat(p_M2[ii, 1:4])

    p_M2[ii, 1] <- min(1-1e-7, max(1e-7, phi_M2[ii, 1] / sum(phi_M2[ii, ])))
    p_M2[ii, 2] <- min(1-1e-7, max(1e-7, phi_M2[ii, 2] / sum(phi_M2[ii, ])))
    p_M2[ii, 3] <- min(1-1e-7, max(1e-7, phi_M2[ii, 3] / sum(phi_M2[ii, ])))
    p_M2[ii, 4] <- min(1-1e-7, max(1e-7, phi_M2[ii, 4] / sum(phi_M2[ii, ])))

    log(phi_M2[ii, 1]) <- 0
    log(phi_M2[ii, 2]) <- M_id[ii, 4] * alpha[8] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[9] +
                         M_id[ii, 8] * alpha[10] + M_id[ii, 9] * alpha[11]
    log(phi_M2[ii, 3]) <- M_id[ii, 4] * alpha[12] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[13] +
                         M_id[ii, 8] * alpha[14] + M_id[ii, 9] * alpha[15]
    log(phi_M2[ii, 4]) <- M_id[ii, 4] * alpha[16] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[17] +
                         M_id[ii, 8] * alpha[18] + M_id[ii, 9] * alpha[19]

    M_id[ii, 5] <- ifelse(M_id[ii, 1] == 2, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 1] == 3, 1, 0)
    M_id[ii, 7] <- ifelse(M_id[ii, 1] == 4, 1, 0)

  }

  # Priors for the model for M2
  for (k in 8:19) {
    alpha[k] ~ dnorm(mu_reg_multinomial, tau_reg_multinomial)
  }




  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 4] * alpha[20] + M_id[ii, 8] * alpha[21] +
                M_id[ii, 9] * alpha[22]
  }

  # Priors for the model for C2
  for (k in 20:22) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)




  # Cumulative logit model for O2 -------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 3] ~ dcat(p_O2[ii, 1:3])
    eta_O2[ii] <- 0

    p_O2[ii, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_O2[ii, 2:3])))
    p_O2[ii, 2] <- max(1e-10, min(1-1e-10, psum_O2[ii, 1] - psum_O2[ii, 2]))
    p_O2[ii, 3] <- max(1e-10, min(1-1e-10, psum_O2[ii, 2]))

    logit(psum_O2[ii, 1]) <- gamma_O2[1] + eta_O2[ii]
    logit(psum_O2[ii, 2]) <- gamma_O2[2] + eta_O2[ii]

    M_id[ii, 8] <- ifelse(M_id[ii, 3] == 2, 1, 0)
    M_id[ii, 9] <- ifelse(M_id[ii, 3] == 3, 1, 0)
  }

  # Priors for the model for O2
  delta_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_O2[2] <- gamma_O2[1] - exp(delta_O2[1]) 
 
  # Re-calculate interaction terms
  for (ii in 1:100) {
    M_id[ii, 10] <- M_id[ii, 5] * M_id[ii, 2]
    M_id[ii, 11] <- M_id[ii, 6] * M_id[ii, 2]
    M_id[ii, 12] <- M_id[ii, 7] * M_id[ii, 2]
  }

 
}
$m5e
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    eta_o1_1[i] <- beta[1] * M_id[group_id[i], 5] + beta[2] * M_id[group_id[i], 6] +
                   beta[3] * M_id[group_id[i], 7] +
                   beta[4] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[5] * M_id[group_id[i], 8] + beta[6] * M_id[group_id[i], 9] +
                   beta[7] * (M_id[group_id[i], 10] - spM_id[10, 1])/spM_id[10, 2] +
                   beta[8] * (M_id[group_id[i], 11] - spM_id[11, 1])/spM_id[11, 2] +
                   beta[9] * (M_id[group_id[i], 12] - spM_id[12, 1])/spM_id[12, 2] +
                   beta[19] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]
    eta_o1_2[i] <- beta[10] * M_id[group_id[i], 5] + beta[11] * M_id[group_id[i], 6] +
                   beta[12] * M_id[group_id[i], 7] +
                   beta[13] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[14] * M_id[group_id[i], 8] + beta[15] * M_id[group_id[i], 9] +
                   beta[16] * (M_id[group_id[i], 10] - spM_id[10, 1])/spM_id[10, 2] +
                   beta[17] * (M_id[group_id[i], 11] - spM_id[11, 1])/spM_id[11, 2] +
                   beta[18] * (M_id[group_id[i], 12] - spM_id[12, 1])/spM_id[12, 2] +
                   beta[20] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]

    p_o1[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 2:3])))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 1] - psum_o1[i, 2]))
    p_o1[i, 3] <- max(1e-10, min(1-1e-10, psum_o1[i, 2]))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i] + eta_o1_1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i] + eta_o1_2[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- 0
  }



  # Priors for the model for o1
  for (k in 1:20) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] - exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 4] * alpha[1] + M_id[ii, 5] * alpha[2] +
                         M_id[ii, 6] * alpha[3] + M_id[ii, 7] * alpha[4] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[5] +
                         M_id[ii, 8] * alpha[6] + M_id[ii, 9] * alpha[7]
  }

  # Priors for the model for c1
  for (k in 1:7) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1])


  # Multinomial logit model for M2 ------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dcat(p_M2[ii, 1:4])

    p_M2[ii, 1] <- min(1-1e-7, max(1e-7, phi_M2[ii, 1] / sum(phi_M2[ii, ])))
    p_M2[ii, 2] <- min(1-1e-7, max(1e-7, phi_M2[ii, 2] / sum(phi_M2[ii, ])))
    p_M2[ii, 3] <- min(1-1e-7, max(1e-7, phi_M2[ii, 3] / sum(phi_M2[ii, ])))
    p_M2[ii, 4] <- min(1-1e-7, max(1e-7, phi_M2[ii, 4] / sum(phi_M2[ii, ])))

    log(phi_M2[ii, 1]) <- 0
    log(phi_M2[ii, 2]) <- M_id[ii, 4] * alpha[8] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[9] +
                         M_id[ii, 8] * alpha[10] + M_id[ii, 9] * alpha[11]
    log(phi_M2[ii, 3]) <- M_id[ii, 4] * alpha[12] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[13] +
                         M_id[ii, 8] * alpha[14] + M_id[ii, 9] * alpha[15]
    log(phi_M2[ii, 4]) <- M_id[ii, 4] * alpha[16] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[17] +
                         M_id[ii, 8] * alpha[18] + M_id[ii, 9] * alpha[19]

    M_id[ii, 5] <- ifelse(M_id[ii, 1] == 2, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 1] == 3, 1, 0)
    M_id[ii, 7] <- ifelse(M_id[ii, 1] == 4, 1, 0)

  }

  # Priors for the model for M2
  for (k in 8:19) {
    alpha[k] ~ dnorm(mu_reg_multinomial, tau_reg_multinomial)
  }




  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 4] * alpha[20] + M_id[ii, 8] * alpha[21] +
                M_id[ii, 9] * alpha[22]
  }

  # Priors for the model for C2
  for (k in 20:22) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)




  # Cumulative logit model for O2 -------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 3] ~ dcat(p_O2[ii, 1:3])
    eta_O2[ii] <- 0

    p_O2[ii, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_O2[ii, 2:3])))
    p_O2[ii, 2] <- max(1e-10, min(1-1e-10, psum_O2[ii, 1] - psum_O2[ii, 2]))
    p_O2[ii, 3] <- max(1e-10, min(1-1e-10, psum_O2[ii, 2]))

    logit(psum_O2[ii, 1]) <- gamma_O2[1] + eta_O2[ii]
    logit(psum_O2[ii, 2]) <- gamma_O2[2] + eta_O2[ii]

    M_id[ii, 8] <- ifelse(M_id[ii, 3] == 2, 1, 0)
    M_id[ii, 9] <- ifelse(M_id[ii, 3] == 3, 1, 0)
  }

  # Priors for the model for O2
  delta_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_O2[2] <- gamma_O2[1] - exp(delta_O2[1]) 
 
  # Re-calculate interaction terms
  for (ii in 1:100) {
    M_id[ii, 10] <- M_id[ii, 5] * M_id[ii, 2]
    M_id[ii, 11] <- M_id[ii, 6] * M_id[ii, 2]
    M_id[ii, 12] <- M_id[ii, 7] * M_id[ii, 2]
  }

 
}
$m6a
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    eta_o1_1[i] <- beta[3] * (M_id[group_id[i], 4] - spM_id[4, 1])/spM_id[4, 2] +
                   beta[4] * (M_id[group_id[i], 1] - spM_id[1, 1])/spM_id[1, 2] +
                   beta[7] * M_lvlone[i, 3]
    eta_o1_2[i] <- beta[5] * (M_id[group_id[i], 4] - spM_id[4, 1])/spM_id[4, 2] +
                   beta[6] * (M_id[group_id[i], 1] - spM_id[1, 1])/spM_id[1, 2] +
                   beta[8] * M_lvlone[i, 3]

    p_o1[i, 1] <- max(1e-10, min(1-1e-10, psum_o1[i, 1]))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 2] - psum_o1[i, 1]))
    p_o1[i, 3] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 1:2])))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i] + eta_o1_1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i] + eta_o1_2[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- M_id[ii, 5] * beta[1] + M_id[ii, 6] * beta[2]
  }



  # Priors for the model for o1
  for (k in 1:8) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] + exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Binomial mixed effects model for b2 -------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dbern(max(1e-16, min(1 - 1e-16, mu_b2[i])))
    logit(mu_b2[i]) <- b_b2_id[group_id[i], 1]


    M_lvlone[i, 3] <- ifelse(M_lvlone[i, 2] == 1, 1, 0)
  }

  for (ii in 1:100) {
    b_b2_id[ii, 1:1] ~ dnorm(mu_b_b2_id[ii, ], invD_b2_id[ , ])
    mu_b_b2_id[ii, 1] <- M_id[ii, 3] * alpha[1] +
                         (M_id[ii, 4] - spM_id[4, 1])/spM_id[4, 2] * alpha[2] +
                         (M_id[ii, 1] - spM_id[1, 1])/spM_id[1, 2] * alpha[3] +
                         M_id[ii, 5] * alpha[4] + M_id[ii, 6] * alpha[5]
  }

  # Priors for the model for b2
  for (k in 1:5) {
    alpha[k] ~ dnorm(mu_reg_binom, tau_reg_binom)
  }

  invD_b2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_b2_id[1, 1] <- 1 / (invD_b2_id[1, 1])



  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 3] * alpha[6] +
                (M_id[ii, 4] - spM_id[4, 1])/spM_id[4, 2] * alpha[7] +
                M_id[ii, 5] * alpha[8] + M_id[ii, 6] * alpha[9]
  }

  # Priors for the model for C2
  for (k in 6:9) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)




  # Cumulative logit model for O2 -------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dcat(p_O2[ii, 1:3])
    eta_O2[ii] <- (M_id[ii, 4] - spM_id[4, 1])/spM_id[4, 2] * alpha[10]

    p_O2[ii, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_O2[ii, 2:3])))
    p_O2[ii, 2] <- max(1e-10, min(1-1e-10, psum_O2[ii, 1] - psum_O2[ii, 2]))
    p_O2[ii, 3] <- max(1e-10, min(1-1e-10, psum_O2[ii, 2]))

    logit(psum_O2[ii, 1]) <- gamma_O2[1] + eta_O2[ii]
    logit(psum_O2[ii, 2]) <- gamma_O2[2] + eta_O2[ii]

    M_id[ii, 5] <- ifelse(M_id[ii, 2] == 2, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 2] == 3, 1, 0)
  }

  # Priors for the model for O2
  for (k in 10:10) {
    alpha[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }

  delta_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_O2[2] <- gamma_O2[1] - exp(delta_O2[1]) 
 
}
$m6b
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1] +
                 beta[8] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2]

    eta_o1_1[i] <- beta[6] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[9] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]
    eta_o1_2[i] <- beta[7] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[10] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]

    p_o1[i, 1] <- max(1e-10, min(1-1e-10, psum_o1[i, 1]))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 2] - psum_o1[i, 1]))
    p_o1[i, 3] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 1:2])))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i] + eta_o1_1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i] + eta_o1_2[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- M_id[ii, 5] * beta[1] + M_id[ii, 6] * beta[2] +
                         M_id[ii, 7] * beta[3] + M_id[ii, 8] * beta[4] +
                         M_id[ii, 9] * beta[5]
  }



  # Priors for the model for o1
  for (k in 1:10) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] + exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 4] * alpha[1] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[2] +
                         M_id[ii, 5] * alpha[3] + M_id[ii, 6] * alpha[4] +
                         M_id[ii, 7] * alpha[5] + M_id[ii, 8] * alpha[6] +
                         M_id[ii, 9] * alpha[7]
  }

  # Priors for the model for c1
  for (k in 1:7) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1])


  # Multinomial logit model for M2 ------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dcat(p_M2[ii, 1:4])

    p_M2[ii, 1] <- min(1-1e-7, max(1e-7, phi_M2[ii, 1] / sum(phi_M2[ii, ])))
    p_M2[ii, 2] <- min(1-1e-7, max(1e-7, phi_M2[ii, 2] / sum(phi_M2[ii, ])))
    p_M2[ii, 3] <- min(1-1e-7, max(1e-7, phi_M2[ii, 3] / sum(phi_M2[ii, ])))
    p_M2[ii, 4] <- min(1-1e-7, max(1e-7, phi_M2[ii, 4] / sum(phi_M2[ii, ])))

    log(phi_M2[ii, 1]) <- 0
    log(phi_M2[ii, 2]) <- M_id[ii, 4] * alpha[8] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[9] +
                         M_id[ii, 8] * alpha[10] + M_id[ii, 9] * alpha[11]
    log(phi_M2[ii, 3]) <- M_id[ii, 4] * alpha[12] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[13] +
                         M_id[ii, 8] * alpha[14] + M_id[ii, 9] * alpha[15]
    log(phi_M2[ii, 4]) <- M_id[ii, 4] * alpha[16] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[17] +
                         M_id[ii, 8] * alpha[18] + M_id[ii, 9] * alpha[19]

    M_id[ii, 5] <- ifelse(M_id[ii, 1] == 2, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 1] == 3, 1, 0)
    M_id[ii, 7] <- ifelse(M_id[ii, 1] == 4, 1, 0)

  }

  # Priors for the model for M2
  for (k in 8:19) {
    alpha[k] ~ dnorm(mu_reg_multinomial, tau_reg_multinomial)
  }




  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 4] * alpha[20] + M_id[ii, 8] * alpha[21] +
                M_id[ii, 9] * alpha[22]
  }

  # Priors for the model for C2
  for (k in 20:22) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)




  # Cumulative logit model for O2 -------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 3] ~ dcat(p_O2[ii, 1:3])
    eta_O2[ii] <- 0

    p_O2[ii, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_O2[ii, 2:3])))
    p_O2[ii, 2] <- max(1e-10, min(1-1e-10, psum_O2[ii, 1] - psum_O2[ii, 2]))
    p_O2[ii, 3] <- max(1e-10, min(1-1e-10, psum_O2[ii, 2]))

    logit(psum_O2[ii, 1]) <- gamma_O2[1] + eta_O2[ii]
    logit(psum_O2[ii, 2]) <- gamma_O2[2] + eta_O2[ii]

    M_id[ii, 8] <- ifelse(M_id[ii, 3] == 2, 1, 0)
    M_id[ii, 9] <- ifelse(M_id[ii, 3] == 3, 1, 0)
  }

  # Priors for the model for O2
  delta_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_O2[2] <- gamma_O2[1] - exp(delta_O2[1]) 
 
  # Re-calculate interaction terms
  for (i in 1:329) {
    M_lvlone[i, 3] <- M_lvlone[i, 2] * M_id[group_id[i], 2]
  }

 
}
$m6c
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    eta_o1_1[i] <- beta[6] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[8] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2] +
                   beta[9] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2]
    eta_o1_2[i] <- beta[7] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[10] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2] +
                   beta[11] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2]

    p_o1[i, 1] <- max(1e-10, min(1-1e-10, psum_o1[i, 1]))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 2] - psum_o1[i, 1]))
    p_o1[i, 3] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 1:2])))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i] + eta_o1_1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i] + eta_o1_2[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- M_id[ii, 5] * beta[1] + M_id[ii, 6] * beta[2] +
                         M_id[ii, 7] * beta[3] + M_id[ii, 8] * beta[4] +
                         M_id[ii, 9] * beta[5]
  }



  # Priors for the model for o1
  for (k in 1:11) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] + exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 4] * alpha[1] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[2] +
                         M_id[ii, 5] * alpha[3] + M_id[ii, 6] * alpha[4] +
                         M_id[ii, 7] * alpha[5] + M_id[ii, 8] * alpha[6] +
                         M_id[ii, 9] * alpha[7]
  }

  # Priors for the model for c1
  for (k in 1:7) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1])


  # Multinomial logit model for M2 ------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dcat(p_M2[ii, 1:4])

    p_M2[ii, 1] <- min(1-1e-7, max(1e-7, phi_M2[ii, 1] / sum(phi_M2[ii, ])))
    p_M2[ii, 2] <- min(1-1e-7, max(1e-7, phi_M2[ii, 2] / sum(phi_M2[ii, ])))
    p_M2[ii, 3] <- min(1-1e-7, max(1e-7, phi_M2[ii, 3] / sum(phi_M2[ii, ])))
    p_M2[ii, 4] <- min(1-1e-7, max(1e-7, phi_M2[ii, 4] / sum(phi_M2[ii, ])))

    log(phi_M2[ii, 1]) <- 0
    log(phi_M2[ii, 2]) <- M_id[ii, 4] * alpha[8] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[9] +
                         M_id[ii, 8] * alpha[10] + M_id[ii, 9] * alpha[11]
    log(phi_M2[ii, 3]) <- M_id[ii, 4] * alpha[12] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[13] +
                         M_id[ii, 8] * alpha[14] + M_id[ii, 9] * alpha[15]
    log(phi_M2[ii, 4]) <- M_id[ii, 4] * alpha[16] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[17] +
                         M_id[ii, 8] * alpha[18] + M_id[ii, 9] * alpha[19]

    M_id[ii, 5] <- ifelse(M_id[ii, 1] == 2, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 1] == 3, 1, 0)
    M_id[ii, 7] <- ifelse(M_id[ii, 1] == 4, 1, 0)

  }

  # Priors for the model for M2
  for (k in 8:19) {
    alpha[k] ~ dnorm(mu_reg_multinomial, tau_reg_multinomial)
  }




  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 4] * alpha[20] + M_id[ii, 8] * alpha[21] +
                M_id[ii, 9] * alpha[22]
  }

  # Priors for the model for C2
  for (k in 20:22) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)




  # Cumulative logit model for O2 -------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 3] ~ dcat(p_O2[ii, 1:3])
    eta_O2[ii] <- 0

    p_O2[ii, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_O2[ii, 2:3])))
    p_O2[ii, 2] <- max(1e-10, min(1-1e-10, psum_O2[ii, 1] - psum_O2[ii, 2]))
    p_O2[ii, 3] <- max(1e-10, min(1-1e-10, psum_O2[ii, 2]))

    logit(psum_O2[ii, 1]) <- gamma_O2[1] + eta_O2[ii]
    logit(psum_O2[ii, 2]) <- gamma_O2[2] + eta_O2[ii]

    M_id[ii, 8] <- ifelse(M_id[ii, 3] == 2, 1, 0)
    M_id[ii, 9] <- ifelse(M_id[ii, 3] == 3, 1, 0)
  }

  # Priors for the model for O2
  delta_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_O2[2] <- gamma_O2[1] - exp(delta_O2[1]) 
 
  # Re-calculate interaction terms
  for (i in 1:329) {
    M_lvlone[i, 3] <- M_lvlone[i, 2] * M_id[group_id[i], 2]
  }

 
}
$m6d
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    eta_o1_1[i] <- beta[9] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[11] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]
    eta_o1_2[i] <- beta[10] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[12] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]

    p_o1[i, 1] <- max(1e-10, min(1-1e-10, psum_o1[i, 1]))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 2] - psum_o1[i, 1]))
    p_o1[i, 3] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 1:2])))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i] + eta_o1_1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i] + eta_o1_2[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- M_id[ii, 5] * beta[1] + M_id[ii, 6] * beta[2] +
                         M_id[ii, 7] * beta[3] + M_id[ii, 8] * beta[4] +
                         M_id[ii, 9] * beta[5] +
                         (M_id[ii, 10] - spM_id[10, 1])/spM_id[10, 2] * beta[6] +
                         (M_id[ii, 11] - spM_id[11, 1])/spM_id[11, 2] * beta[7] +
                         (M_id[ii, 12] - spM_id[12, 1])/spM_id[12, 2] * beta[8]
  }



  # Priors for the model for o1
  for (k in 1:12) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] + exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 4] * alpha[1] + M_id[ii, 5] * alpha[2] +
                         M_id[ii, 6] * alpha[3] + M_id[ii, 7] * alpha[4] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[5] +
                         M_id[ii, 8] * alpha[6] + M_id[ii, 9] * alpha[7]
  }

  # Priors for the model for c1
  for (k in 1:7) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1])


  # Multinomial logit model for M2 ------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dcat(p_M2[ii, 1:4])

    p_M2[ii, 1] <- min(1-1e-7, max(1e-7, phi_M2[ii, 1] / sum(phi_M2[ii, ])))
    p_M2[ii, 2] <- min(1-1e-7, max(1e-7, phi_M2[ii, 2] / sum(phi_M2[ii, ])))
    p_M2[ii, 3] <- min(1-1e-7, max(1e-7, phi_M2[ii, 3] / sum(phi_M2[ii, ])))
    p_M2[ii, 4] <- min(1-1e-7, max(1e-7, phi_M2[ii, 4] / sum(phi_M2[ii, ])))

    log(phi_M2[ii, 1]) <- 0
    log(phi_M2[ii, 2]) <- M_id[ii, 4] * alpha[8] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[9] +
                         M_id[ii, 8] * alpha[10] + M_id[ii, 9] * alpha[11]
    log(phi_M2[ii, 3]) <- M_id[ii, 4] * alpha[12] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[13] +
                         M_id[ii, 8] * alpha[14] + M_id[ii, 9] * alpha[15]
    log(phi_M2[ii, 4]) <- M_id[ii, 4] * alpha[16] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[17] +
                         M_id[ii, 8] * alpha[18] + M_id[ii, 9] * alpha[19]

    M_id[ii, 5] <- ifelse(M_id[ii, 1] == 2, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 1] == 3, 1, 0)
    M_id[ii, 7] <- ifelse(M_id[ii, 1] == 4, 1, 0)

  }

  # Priors for the model for M2
  for (k in 8:19) {
    alpha[k] ~ dnorm(mu_reg_multinomial, tau_reg_multinomial)
  }




  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 4] * alpha[20] + M_id[ii, 8] * alpha[21] +
                M_id[ii, 9] * alpha[22]
  }

  # Priors for the model for C2
  for (k in 20:22) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)




  # Cumulative logit model for O2 -------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 3] ~ dcat(p_O2[ii, 1:3])
    eta_O2[ii] <- 0

    p_O2[ii, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_O2[ii, 2:3])))
    p_O2[ii, 2] <- max(1e-10, min(1-1e-10, psum_O2[ii, 1] - psum_O2[ii, 2]))
    p_O2[ii, 3] <- max(1e-10, min(1-1e-10, psum_O2[ii, 2]))

    logit(psum_O2[ii, 1]) <- gamma_O2[1] + eta_O2[ii]
    logit(psum_O2[ii, 2]) <- gamma_O2[2] + eta_O2[ii]

    M_id[ii, 8] <- ifelse(M_id[ii, 3] == 2, 1, 0)
    M_id[ii, 9] <- ifelse(M_id[ii, 3] == 3, 1, 0)
  }

  # Priors for the model for O2
  delta_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_O2[2] <- gamma_O2[1] - exp(delta_O2[1]) 
 
  # Re-calculate interaction terms
  for (ii in 1:100) {
    M_id[ii, 10] <- M_id[ii, 5] * M_id[ii, 2]
    M_id[ii, 11] <- M_id[ii, 6] * M_id[ii, 2]
    M_id[ii, 12] <- M_id[ii, 7] * M_id[ii, 2]
  }

 
}
$m6e
model { 

 
  # Cumulative logit mixed effects model for o1 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dcat(p_o1[i, 1:3])
    eta_o1[i] <- b_o1_id[group_id[i], 1]

    eta_o1_1[i] <- beta[1] * M_id[group_id[i], 5] + beta[2] * M_id[group_id[i], 6] +
                   beta[3] * M_id[group_id[i], 7] +
                   beta[4] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[5] * M_id[group_id[i], 8] + beta[6] * M_id[group_id[i], 9] +
                   beta[7] * (M_id[group_id[i], 10] - spM_id[10, 1])/spM_id[10, 2] +
                   beta[8] * (M_id[group_id[i], 11] - spM_id[11, 1])/spM_id[11, 2] +
                   beta[9] * (M_id[group_id[i], 12] - spM_id[12, 1])/spM_id[12, 2] +
                   beta[19] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]
    eta_o1_2[i] <- beta[10] * M_id[group_id[i], 5] + beta[11] * M_id[group_id[i], 6] +
                   beta[12] * M_id[group_id[i], 7] +
                   beta[13] * (M_id[group_id[i], 2] - spM_id[2, 1])/spM_id[2, 2] +
                   beta[14] * M_id[group_id[i], 8] + beta[15] * M_id[group_id[i], 9] +
                   beta[16] * (M_id[group_id[i], 10] - spM_id[10, 1])/spM_id[10, 2] +
                   beta[17] * (M_id[group_id[i], 11] - spM_id[11, 1])/spM_id[11, 2] +
                   beta[18] * (M_id[group_id[i], 12] - spM_id[12, 1])/spM_id[12, 2] +
                   beta[20] * (M_lvlone[i, 2] - spM_lvlone[2, 1])/spM_lvlone[2, 2]

    p_o1[i, 1] <- max(1e-10, min(1-1e-10, psum_o1[i, 1]))
    p_o1[i, 2] <- max(1e-10, min(1-1e-10, psum_o1[i, 2] - psum_o1[i, 1]))
    p_o1[i, 3] <- 1 - max(1e-10, min(1-1e-10, sum(p_o1[i, 1:2])))

    logit(psum_o1[i, 1]) <- gamma_o1[1] + eta_o1[i] + eta_o1_1[i]
    logit(psum_o1[i, 2]) <- gamma_o1[2] + eta_o1[i] + eta_o1_2[i]

  }

  for (ii in 1:100) {
    b_o1_id[ii, 1:1] ~ dnorm(mu_b_o1_id[ii, ], invD_o1_id[ , ])
    mu_b_o1_id[ii, 1] <- 0
  }



  # Priors for the model for o1
  for (k in 1:20) {
    beta[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o1[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o1[2] <- gamma_o1[1] + exp(delta_o1[1])

  invD_o1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o1_id[1, 1] <- 1 / (invD_o1_id[1, 1])


  # Normal mixed effects model for c1 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dnorm(mu_c1[i], tau_c1)
    mu_c1[i] <- b_c1_id[group_id[i], 1]
  }

  for (ii in 1:100) {
    b_c1_id[ii, 1:1] ~ dnorm(mu_b_c1_id[ii, ], invD_c1_id[ , ])
    mu_b_c1_id[ii, 1] <- M_id[ii, 4] * alpha[1] + M_id[ii, 5] * alpha[2] +
                         M_id[ii, 6] * alpha[3] + M_id[ii, 7] * alpha[4] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[5] +
                         M_id[ii, 8] * alpha[6] + M_id[ii, 9] * alpha[7]
  }

  # Priors for the model for c1
  for (k in 1:7) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c1 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c1 <- sqrt(1/tau_c1)

  invD_c1_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c1_id[1, 1] <- 1 / (invD_c1_id[1, 1])


  # Multinomial logit model for M2 ------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 1] ~ dcat(p_M2[ii, 1:4])

    p_M2[ii, 1] <- min(1-1e-7, max(1e-7, phi_M2[ii, 1] / sum(phi_M2[ii, ])))
    p_M2[ii, 2] <- min(1-1e-7, max(1e-7, phi_M2[ii, 2] / sum(phi_M2[ii, ])))
    p_M2[ii, 3] <- min(1-1e-7, max(1e-7, phi_M2[ii, 3] / sum(phi_M2[ii, ])))
    p_M2[ii, 4] <- min(1-1e-7, max(1e-7, phi_M2[ii, 4] / sum(phi_M2[ii, ])))

    log(phi_M2[ii, 1]) <- 0
    log(phi_M2[ii, 2]) <- M_id[ii, 4] * alpha[8] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[9] +
                         M_id[ii, 8] * alpha[10] + M_id[ii, 9] * alpha[11]
    log(phi_M2[ii, 3]) <- M_id[ii, 4] * alpha[12] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[13] +
                         M_id[ii, 8] * alpha[14] + M_id[ii, 9] * alpha[15]
    log(phi_M2[ii, 4]) <- M_id[ii, 4] * alpha[16] +
                         (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[17] +
                         M_id[ii, 8] * alpha[18] + M_id[ii, 9] * alpha[19]

    M_id[ii, 5] <- ifelse(M_id[ii, 1] == 2, 1, 0)
    M_id[ii, 6] <- ifelse(M_id[ii, 1] == 3, 1, 0)
    M_id[ii, 7] <- ifelse(M_id[ii, 1] == 4, 1, 0)

  }

  # Priors for the model for M2
  for (k in 8:19) {
    alpha[k] ~ dnorm(mu_reg_multinomial, tau_reg_multinomial)
  }




  # Normal model for C2 -----------------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 2] ~ dnorm(mu_C2[ii], tau_C2)
    mu_C2[ii] <- M_id[ii, 4] * alpha[20] + M_id[ii, 8] * alpha[21] +
                M_id[ii, 9] * alpha[22]
  }

  # Priors for the model for C2
  for (k in 20:22) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_C2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_C2 <- sqrt(1/tau_C2)




  # Cumulative logit model for O2 -------------------------------------------------
  for (ii in 1:100) {
    M_id[ii, 3] ~ dcat(p_O2[ii, 1:3])
    eta_O2[ii] <- 0

    p_O2[ii, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_O2[ii, 2:3])))
    p_O2[ii, 2] <- max(1e-10, min(1-1e-10, psum_O2[ii, 1] - psum_O2[ii, 2]))
    p_O2[ii, 3] <- max(1e-10, min(1-1e-10, psum_O2[ii, 2]))

    logit(psum_O2[ii, 1]) <- gamma_O2[1] + eta_O2[ii]
    logit(psum_O2[ii, 2]) <- gamma_O2[2] + eta_O2[ii]

    M_id[ii, 8] <- ifelse(M_id[ii, 3] == 2, 1, 0)
    M_id[ii, 9] <- ifelse(M_id[ii, 3] == 3, 1, 0)
  }

  # Priors for the model for O2
  delta_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_O2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_O2[2] <- gamma_O2[1] - exp(delta_O2[1]) 
 
  # Re-calculate interaction terms
  for (ii in 1:100) {
    M_id[ii, 10] <- M_id[ii, 5] * M_id[ii, 2]
    M_id[ii, 11] <- M_id[ii, 6] * M_id[ii, 2]
    M_id[ii, 12] <- M_id[ii, 7] * M_id[ii, 2]
  }

 
}
$m7a
model { 

   # Normal mixed effects model for y ----------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dnorm(mu_y[i], tau_y)
    mu_y[i] <- b_y_id[group_id[i], 1] + beta[3] * M_lvlone[i, 4] +
               beta[4] * M_lvlone[i, 5] + beta[5] * M_lvlone[i, 6] +
               beta[6] * M_lvlone[i, 7] + beta[7] * M_lvlone[i, 8] +
               beta[8] * M_lvlone[i, 9] + beta[9] * M_lvlone[i, 10] +
               beta[10] * M_lvlone[i, 11] +
               beta[11] * (M_lvlone[i, 12] - spM_lvlone[12, 1])/spM_lvlone[12, 2]
  }

  for (ii in 1:100) {
    b_y_id[ii, 1:1] ~ dnorm(mu_b_y_id[ii, ], invD_y_id[ , ])
    mu_b_y_id[ii, 1] <- M_id[ii, 1] * beta[1] +
                        (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * beta[2]
  }

  # Priors for the model for y
  for (k in 1:11) {
    beta[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_y ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_y <- sqrt(1/tau_y)

  invD_y_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_y_id[1, 1] <- 1 / (invD_y_id[1, 1])



  # Cumulative logit mixed effects model for o2 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dcat(p_o2[i, 1:4])
    eta_o2[i] <- b_o2_id[group_id[i], 1] + alpha[2] * M_lvlone[i, 9] +
                 alpha[3] * M_lvlone[i, 10] + alpha[4] * M_lvlone[i, 11] +
                 alpha[5] * (M_lvlone[i, 12] - spM_lvlone[12, 1])/spM_lvlone[12, 2]

    p_o2[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o2[i, 2:4])))
    p_o2[i, 2] <- max(1e-10, min(1-1e-10, psum_o2[i, 1] - psum_o2[i, 2]))
    p_o2[i, 3] <- max(1e-10, min(1-1e-10, psum_o2[i, 2] - psum_o2[i, 3]))
    p_o2[i, 4] <- max(1e-10, min(1-1e-10, psum_o2[i, 3]))

    logit(psum_o2[i, 1]) <- gamma_o2[1] + eta_o2[i]
    logit(psum_o2[i, 2]) <- gamma_o2[2] + eta_o2[i]
    logit(psum_o2[i, 3]) <- gamma_o2[3] + eta_o2[i]

    M_lvlone[i, 6] <- ifelse(M_lvlone[i, 2] == 2, 1, 0)
    M_lvlone[i, 7] <- ifelse(M_lvlone[i, 2] == 3, 1, 0)
    M_lvlone[i, 8] <- ifelse(M_lvlone[i, 2] == 4, 1, 0)

  }

  for (ii in 1:100) {
    b_o2_id[ii, 1:1] ~ dnorm(mu_b_o2_id[ii, ], invD_o2_id[ , ])
    mu_b_o2_id[ii, 1] <- (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[1]
  }



  # Priors for the model for o2
  for (k in 1:5) {
    alpha[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_o2[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o2[2] <- gamma_o2[1] - exp(delta_o2[1])
  gamma_o2[3] <- gamma_o2[2] - exp(delta_o2[2])

  invD_o2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o2_id[1, 1] <- 1 / (invD_o2_id[1, 1])



  # Cumulative logit mixed effects model for x ------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 3] ~ dcat(p_x[i, 1:4])
    eta_x[i] <- b_x_id[group_id[i], 1] +
                alpha[7] * (M_lvlone[i, 12] - spM_lvlone[12, 1])/spM_lvlone[12, 2]

    p_x[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_x[i, 2:4])))
    p_x[i, 2] <- max(1e-10, min(1-1e-10, psum_x[i, 1] - psum_x[i, 2]))
    p_x[i, 3] <- max(1e-10, min(1-1e-10, psum_x[i, 2] - psum_x[i, 3]))
    p_x[i, 4] <- max(1e-10, min(1-1e-10, psum_x[i, 3]))

    logit(psum_x[i, 1]) <- gamma_x[1] + eta_x[i]
    logit(psum_x[i, 2]) <- gamma_x[2] + eta_x[i]
    logit(psum_x[i, 3]) <- gamma_x[3] + eta_x[i]

    M_lvlone[i, 9] <- ifelse(M_lvlone[i, 3] == 2, 1, 0)
    M_lvlone[i, 10] <- ifelse(M_lvlone[i, 3] == 3, 1, 0)
    M_lvlone[i, 11] <- ifelse(M_lvlone[i, 3] == 4, 1, 0)

  }

  for (ii in 1:100) {
    b_x_id[ii, 1:1] ~ dnorm(mu_b_x_id[ii, ], invD_x_id[ , ])
    mu_b_x_id[ii, 1] <- (M_id[ii, 2] - spM_id[2, 1])/spM_id[2, 2] * alpha[6]
  }



  # Priors for the model for x
  for (k in 6:7) {
    alpha[k] ~ dnorm(mu_reg_ordinal, tau_reg_ordinal)
  }  delta_x[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_x[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_x[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_x[2] <- gamma_x[1] - exp(delta_x[1])
  gamma_x[3] <- gamma_x[2] - exp(delta_x[2])

  invD_x_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_x_id[1, 1] <- 1 / (invD_x_id[1, 1]) 
 
}
$m7b
model { 

   # Normal mixed effects model for y ----------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 1] ~ dnorm(mu_y[i], tau_y)
    mu_y[i] <- b_y_id[group_id[i], 1] + beta[2] * M_lvlone[i, 5] +
               beta[3] * M_lvlone[i, 6] + beta[4] * M_lvlone[i, 7] +
               beta[5] * M_lvlone[i, 8] + beta[6] * M_lvlone[i, 9] +
               beta[7] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2] +
               beta[8] * M_lvlone[i, 10]
  }

  for (ii in 1:100) {
    b_y_id[ii, 1:1] ~ dnorm(mu_b_y_id[ii, ], invD_y_id[ , ])
    mu_b_y_id[ii, 1] <- M_id[ii, 1] * beta[1]
  }

  # Priors for the model for y
  for (k in 1:8) {
    beta[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_y ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_y <- sqrt(1/tau_y)

  invD_y_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_y_id[1, 1] <- 1 / (invD_y_id[1, 1])


  # Binomial mixed effects model for b2 -------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 2] ~ dbern(max(1e-16, min(1 - 1e-16, mu_b2[i])))
    logit(mu_b2[i]) <- b_b2_id[group_id[i], 1] + alpha[2] * M_lvlone[i, 5] +
                       alpha[3] * M_lvlone[i, 6] + alpha[4] * M_lvlone[i, 7] +
                       alpha[5] * M_lvlone[i, 8] + alpha[6] * M_lvlone[i, 9] +
                       alpha[7] * (M_lvlone[i, 3] - spM_lvlone[3, 1])/spM_lvlone[3, 2]


    M_lvlone[i, 10] <- ifelse(M_lvlone[i, 2] == 1, 1, 0)
  }

  for (ii in 1:100) {
    b_b2_id[ii, 1:1] ~ dnorm(mu_b_b2_id[ii, ], invD_b2_id[ , ])
    mu_b_b2_id[ii, 1] <- M_id[ii, 1] * alpha[1]
  }

  # Priors for the model for b2
  for (k in 1:7) {
    alpha[k] ~ dnorm(mu_reg_binom, tau_reg_binom)
  }

  invD_b2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_b2_id[1, 1] <- 1 / (invD_b2_id[1, 1])


  # Normal mixed effects model for c2 ---------------------------------------------
  for (i in 1:329) {
    M_lvlone[i, 3] ~ dnorm(mu_c2[i], tau_c2)
    mu_c2[i] <- b_c2_id[group_id[i], 1] + alpha[9] * M_lvlone[i, 5] +
                alpha[10] * M_lvlone[i, 6] + alpha[11] * M_lvlone[i, 7] +
                alpha[12] * M_lvlone[i, 8] + alpha[13] * M_lvlone[i, 9]
  }

  for (ii in 1:100) {
    b_c2_id[ii, 1:1] ~ dnorm(mu_b_c2_id[ii, ], invD_c2_id[ , ])
    mu_b_c2_id[ii, 1] <- M_id[ii, 1] * alpha[8]
  }

  # Priors for the model for c2
  for (k in 8:13) {
    alpha[k] ~ dnorm(mu_reg_norm, tau_reg_norm)
  }
  tau_c2 ~ dgamma(shape_tau_norm, rate_tau_norm)
  sigma_c2 <- sqrt(1/tau_c2)

  invD_c2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_c2_id[1, 1] <- 1 / (invD_c2_id[1, 1])



  # Cumulative logit mixed effects model for o2 -----------------------------------
  for (i in 1:329) {
    M_lvlone[i, 4] ~ dcat(p_o2[i, 1:4])
    eta_o2[i] <- b_o2_id[group_id[i], 1]

    p_o2[i, 1] <- 1 - max(1e-10, min(1-1e-10, sum(p_o2[i, 2:4])))
    p_o2[i, 2] <- max(1e-10, min(1-1e-10, psum_o2[i, 1] - psum_o2[i, 2]))
    p_o2[i, 3] <- max(1e-10, min(1-1e-10, psum_o2[i, 2] - psum_o2[i, 3]))
    p_o2[i, 4] <- max(1e-10, min(1-1e-10, psum_o2[i, 3]))

    logit(psum_o2[i, 1]) <- gamma_o2[1] + eta_o2[i]
    logit(psum_o2[i, 2]) <- gamma_o2[2] + eta_o2[i]
    logit(psum_o2[i, 3]) <- gamma_o2[3] + eta_o2[i]

    M_lvlone[i, 5] <- ifelse(M_lvlone[i, 4] == 2, 1, 0)
    M_lvlone[i, 6] <- ifelse(M_lvlone[i, 4] == 3, 1, 0)
    M_lvlone[i, 7] <- ifelse(M_lvlone[i, 4] == 4, 1, 0)

  }

  for (ii in 1:100) {
    b_o2_id[ii, 1:1] ~ dnorm(mu_b_o2_id[ii, ], invD_o2_id[ , ])
    mu_b_o2_id[ii, 1] <- 0
  }



  # Priors for the model for o2
  delta_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  delta_o2[2] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)

  gamma_o2[1] ~ dnorm(mu_delta_ordinal, tau_delta_ordinal)
  gamma_o2[2] <- gamma_o2[1] - exp(delta_o2[1])
  gamma_o2[3] <- gamma_o2[2] - exp(delta_o2[2])

  invD_o2_id[1, 1] ~ dgamma(shape_diag_RinvD, rate_diag_RinvD)T(1e-16, 1e16)
  D_o2_id[1, 1] <- 1 / (invD_o2_id[1, 1]) 
 
}
