@@ -103,19 +103,32 @@ parameters {
103103
104104transformed parameters {
105105 // group-level parameters
106- vector [n_free_kappa] mu_kappa_pr = segment( mu_pr, 1 , n_free_kappa) ;
107- vector [n_free_omega] mu_omega_pr = segment( mu_pr, 1 + n_free_kappa, n_free_omega) ;
108- vector [n_free_zeta] mu_zeta_pr = segment( mu_pr, 1 + n_free_parameters - n_free_zeta, n_free_zeta) ;
109-
110- vector < lower =0 > [n_free_kappa] kappa_sigma_pr = segment( sigma, 1 , n_free_kappa) ;
111- vector < lower =0 > [n_free_omega] omega_sigma_pr = segment( sigma, 1 + n_free_kappa, n_free_omega) ;
112- vector < lower =0 > [n_free_zeta] zeta_sigma_pr = segment( sigma, 1 + n_free_parameters - n_free_zeta, n_free_zeta) ;
106+ vector [n_free_kappa] mu_kappa_pr;
107+ vector [n_free_omega] mu_omega_pr;
108+ vector [n_free_zeta] mu_zeta_pr;
109+
110+ vector < lower =0 > [n_free_kappa] kappa_sigma_pr;
111+ vector < lower =0 > [n_free_omega] omega_sigma_pr;
112+ vector < lower =0 > [n_free_zeta] zeta_sigma_pr;
113113
114114 // subject-level parameters
115115 matrix [N,L- 2 ] kappa;
116116 matrix [N,L- 1 ] omega;
117117 vector [N] zeta;
118118
119+ if (n_free_kappa > 0 ) {
120+ mu_kappa_pr = segment( mu_pr, 1 , n_free_kappa);
121+ kappa_sigma_pr = segment( sigma, 1 , n_free_kappa);
122+ }
123+ if (n_free_omega > 0 ) {
124+ mu_omega_pr = segment( mu_pr, 1 + n_free_kappa, n_free_omega);
125+ omega_sigma_pr = segment( sigma, 1 + n_free_kappa, n_free_omega);
126+ }
127+ if (n_free_zeta == 1 ) {
128+ mu_zeta_pr = segment( mu_pr, 1 + n_free_kappa+ n_free_omega, n_free_zeta);
129+ zeta_sigma_pr = segment( sigma, 1 + n_free_kappa+ n_free_omega, n_free_zeta);
130+ }
131+
119132 // Rebuild parameters with sampled values and fixed values & Non-centered parameterization
120133 if (n_free_kappa > 0 ) {
121134 for (i in 1 : n_free_kappa) {
0 commit comments