/****************************************************************/ /* S A S S A M P L E L I B R A R Y */ /* */ /* NAME: MCMCGS3 */ /* TITLE: Getting Started Example 3 for PROC MCMC */ /* PRODUCT: STAT */ /* SYSTEM: ALL */ /* KEYS: random-effects model */ /* PROCS: MCMC */ /* DATA: */ /* */ /* SUPPORT: Fang Chen */ /* REF: PROC MCMC, GETTING STARTED EXAMPLE 3 */ /* MISC: */ /****************************************************************/ title 'Random-Effects Model'; data heights; input Family G$ Height @@; datalines; 1 F 67 1 F 66 1 F 64 1 M 71 1 M 72 2 F 63 2 F 63 2 F 67 2 M 69 2 M 68 2 M 70 3 F 63 3 M 64 4 F 67 4 F 66 4 M 67 4 M 67 4 M 69 ; data input; set heights; if g eq 'F' then gf = 1; else gf = 0; drop g; run; ods graphics on; proc mcmc data=input outpost=postout nmc=50000 seed=7893 plots=trace; ods select Parameters REparameters PostSumInt tracepanel; parms b0 0 b1 0 s2 1 s2g 1; prior b: ~ normal(0, var = 10000); prior s: ~ igamma(0.01, scale = 0.01); random gamma ~ normal(0, var = s2g) subject=family monitor=(gamma); mu = b0 + b1 * gf + gamma; model height ~ normal(mu, var = s2); run; ods graphics off;