epinowcast
combine_effects.stan
Go to the documentation of this file.
1
46vector combine_effects(array[] real intercept, vector beta, matrix design,
47 vector beta_sd, matrix sd_design, int add_intercept) {
48 int nobs = rows(design);
49 int neffs = num_elements(beta);
50 int sds = num_elements(beta_sd);
51 vector[neffs + add_intercept] scaled_beta;
52 vector[sds + 1] ext_beta_sd;
53 ext_beta_sd[1] = 1.0;
54 if (neffs) {
55 ext_beta_sd[2:(sds+1)] = beta_sd;
56 if (add_intercept) {
57 scaled_beta[1] = intercept[1];
58 }
59 scaled_beta[(1+add_intercept):(neffs+add_intercept)] =
60 beta .* (sd_design * ext_beta_sd);
61 return(design * scaled_beta);
62 }else{
63 return(rep_vector(intercept[1], nobs));
64 }
65}
vector combine_effects(array[] real intercept, vector beta, matrix design, vector beta_sd, matrix sd_design, int add_intercept)