Example 1 for PROC BGLIMM
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: bglmmex1 */
/* TITLE: Example 1 for PROC BGLIMM */
/* DESC: Normal regression with repeated measurements */
/* REF: */
/* PRODUCT: STAT */
/* SYSTEM: ALL */
/* KEYS: */
/* PROCS: BGLIMM */
/* */
/* SUPPORT: Amy Shi */
/****************************************************************/
data Fev;
input Patient Baseval Drug$ Hour FEV;
datalines;
201 2.46 a 1 2.68
201 2.46 a 2 2.76
201 2.46 a 3 2.50
201 2.46 a 4 2.30
201 2.46 a 5 2.14
201 2.46 a 6 2.40
201 2.46 a 7 2.33
202 3.50 a 3 2.93
202 3.50 a 4 2.53
202 3.50 a 5 3.04
202 3.50 a 7 3.14
202 3.50 a 8 2.62
203 1.96 a 2 2.34
203 1.96 a 3 2.29
203 1.96 a 4 2.43
203 1.96 a 5 2.06
203 1.96 a 6 2.18
203 1.96 a 7 2.28
203 1.96 a 8 2.29
204 3.44 a 1 4.08
204 3.44 a 2 3.87
204 3.44 a 3 3.79
204 3.44 a 4 3.30
204 3.44 a 5 3.80
204 3.44 a 6 3.24
204 3.44 a 7 2.98
204 3.44 a 8 2.91
205 2.80 a 1 4.09
205 2.80 a 2 3.90
205 2.80 a 3 3.54
205 2.80 a 5 3.15
205 2.80 a 6 3.23
205 2.80 a 7 3.46
205 2.80 a 8 3.27
206 2.36 a 1 3.79
206 2.36 a 2 3.97
206 2.36 a 3 3.78
206 2.36 a 4 3.69
207 1.77 a 1 3.82
207 1.77 a 2 3.44
207 1.77 a 3 3.46
207 1.77 a 4 3.02
207 1.77 a 6 3.10
207 1.77 a 7 2.79
208 2.64 a 1 3.67
208 2.64 a 2 3.47
208 2.64 a 3 3.19
208 2.64 a 5 2.85
208 2.64 a 6 2.68
208 2.64 a 7 2.60
209 2.30 a 1 4.12
209 2.30 a 3 3.57
209 2.30 a 4 3.49
209 2.30 a 5 3.64
209 2.30 a 6 3.38
209 2.30 a 8 3.72
210 2.27 a 1 2.77
210 2.27 a 2 2.77
210 2.27 a 3 2.75
210 2.27 a 4 2.75
210 2.27 a 5 2.71
210 2.27 a 6 2.75
210 2.27 a 7 2.52
210 2.27 a 8 2.60
211 2.44 a 1 3.77
211 2.44 a 2 3.73
211 2.44 a 3 3.67
211 2.44 a 4 3.56
211 2.44 a 5 3.59
211 2.44 a 7 3.32
211 2.44 a 8 3.18
212 2.04 a 1 2.00
212 2.04 a 4 2.09
212 2.04 a 5 2.08
212 2.04 a 6 1.98
212 2.04 a 7 1.70
212 2.04 a 8 1.40
214 2.77 a 1 3.36
214 2.77 a 2 3.42
214 2.77 a 3 3.28
214 2.77 a 4 3.30
214 2.77 a 5 3.31
214 2.77 a 6 2.99
214 2.77 a 8 3.08
215 2.96 a 2 4.02
215 2.96 a 3 3.38
215 2.96 a 4 3.31
215 2.96 a 5 3.46
215 2.96 a 7 3.38
215 2.96 a 8 3.35
216 3.11 a 1 3.88
216 3.11 a 2 3.92
216 3.11 a 3 3.71
216 3.11 a 4 3.59
216 3.11 a 7 3.42
216 3.11 a 8 3.63
217 1.47 a 1 1.97
217 1.47 a 4 1.45
217 1.47 a 5 1.24
218 2.73 a 1 2.91
218 2.73 a 2 2.99
218 2.73 a 3 2.87
218 2.73 a 4 2.88
218 2.73 a 5 2.84
218 2.73 a 6 2.67
219 3.25 a 1 3.59
219 3.25 a 2 3.54
219 3.25 a 6 3.05
219 3.25 a 7 3.27
219 3.25 a 8 2.96
220 2.73 a 1 2.88
220 2.73 a 6 2.58
220 2.73 a 7 2.68
220 2.73 a 8 2.42
221 3.30 a 1 4.04
221 3.30 a 2 3.94
221 3.30 a 3 3.84
221 3.30 a 4 3.99
221 3.30 a 5 3.90
221 3.30 a 6 3.89
221 3.30 a 7 3.89
221 3.30 a 8 2.98
222 2.85 a 1 3.38
222 2.85 a 2 3.42
222 2.85 a 3 3.28
222 2.85 a 4 2.94
222 2.85 a 6 3.12
222 2.85 a 7 2.98
222 2.85 a 8 2.99
223 2.72 a 1 4.49
223 2.72 a 3 4.38
223 2.72 a 4 4.36
223 2.72 a 6 4.23
223 2.72 a 7 3.83
223 2.72 a 8 3.89
224 3.68 a 3 4.16
224 3.68 a 4 4.07
224 3.68 a 5 3.87
224 3.68 a 6 3.87
224 3.68 a 7 3.85
232 2.49 a 1 3.73
232 2.49 a 3 3.16
232 2.49 a 4 3.26
232 2.49 a 6 2.77
232 2.49 a 7 2.92
201 2.30 c 1 3.41
201 2.30 c 2 3.48
201 2.30 c 3 3.41
201 2.30 c 4 3.49
201 2.30 c 6 3.20
201 2.30 c 7 3.07
202 2.91 c 1 3.92
202 2.91 c 2 4.02
202 2.91 c 3 4.04
202 2.91 c 6 3.10
202 2.91 c 7 2.70
202 2.91 c 8 2.69
203 2.08 c 1 2.52
203 2.08 c 2 2.44
203 2.08 c 3 2.27
203 2.08 c 5 2.01
203 2.08 c 7 2.34
203 2.08 c 8 2.44
204 3.02 c 2 4.30
204 3.02 c 6 3.23
204 3.02 c 7 2.46
204 3.02 c 8 2.97
205 3.26 c 2 4.58
205 3.26 c 3 4.44
205 3.26 c 4 4.04
205 3.26 c 5 4.33
205 3.26 c 6 3.87
205 3.26 c 8 3.81
206 2.29 c 2 4.37
206 2.29 c 3 4.10
206 2.29 c 5 3.84
206 2.29 c 6 3.43
206 2.29 c 7 3.79
206 2.29 c 8 3.74
207 1.96 c 1 3.00
207 1.96 c 3 2.59
207 1.96 c 4 2.42
207 1.96 c 5 1.61
207 1.96 c 6 1.83
207 1.96 c 7 1.21
207 1.96 c 8 1.50
208 2.70 c 1 4.06
208 2.70 c 2 3.98
208 2.70 c 3 4.06
208 2.70 c 4 3.93
208 2.70 c 5 3.61
209 2.50 c 2 4.06
209 2.50 c 5 3.17
210 2.35 c 1 2.83
210 2.35 c 3 2.82
210 2.35 c 4 2.79
210 2.35 c 5 2.80
210 2.35 c 7 2.64
210 2.35 c 8 2.69
211 2.34 c 1 4.06
211 2.34 c 2 3.68
211 2.34 c 3 3.59
211 2.34 c 5 2.60
211 2.34 c 7 2.22
211 2.34 c 8 2.68
212 2.20 c 3 2.57
212 2.20 c 4 2.30
212 2.20 c 6 1.90
212 2.20 c 7 2.07
212 2.20 c 8 1.76
214 2.78 c 1 3.18
214 2.78 c 3 3.11
214 2.78 c 4 2.97
214 2.78 c 6 3.27
214 2.78 c 7 3.24
215 3.43 c 1 4.39
215 3.43 c 2 4.63
215 3.43 c 3 4.19
215 3.43 c 7 3.47
215 3.43 c 8 3.22
216 3.07 c 1 3.90
216 3.07 c 3 4.09
216 3.07 c 4 4.03
216 3.07 c 6 3.56
216 3.07 c 8 3.75
217 1.21 c 2 2.19
217 1.21 c 3 2.21
217 1.21 c 4 2.09
217 1.21 c 5 1.75
217 1.21 c 6 1.72
217 1.21 c 7 1.80
218 2.60 c 1 3.19
218 2.60 c 2 3.18
218 2.60 c 3 3.15
218 2.60 c 4 3.14
218 2.60 c 5 3.08
218 2.60 c 6 2.96
218 2.60 c 7 2.97
218 2.60 c 8 2.85
219 2.61 c 1 3.54
219 2.61 c 5 3.07
219 2.61 c 7 2.47
220 2.48 c 4 2.94
220 2.48 c 5 2.69
220 2.48 c 7 2.68
220 2.48 c 8 2.70
221 3.73 c 1 4.37
221 3.73 c 2 4.20
221 3.73 c 4 4.19
221 3.73 c 6 3.86
221 3.73 c 7 3.89
222 2.54 c 1 3.26
222 2.54 c 2 3.39
222 2.54 c 3 3.27
222 2.54 c 4 3.20
222 2.54 c 5 3.32
222 2.54 c 6 3.09
222 2.54 c 7 3.25
222 2.54 c 8 3.15
223 2.83 c 1 4.72
223 2.83 c 2 4.97
223 2.83 c 3 4.99
223 2.83 c 5 4.95
223 2.83 c 6 4.82
223 2.83 c 7 4.56
223 2.83 c 8 4.49
224 3.47 c 1 4.27
224 3.47 c 2 4.50
224 3.47 c 3 4.34
224 3.47 c 4 4.00
224 3.47 c 5 4.11
224 3.47 c 8 3.77
232 2.79 c 2 3.85
232 2.79 c 3 4.27
232 2.79 c 4 4.01
232 2.79 c 6 3.14
232 2.79 c 7 3.94
201 2.14 p 1 2.36
201 2.14 p 2 2.36
201 2.14 p 3 2.28
201 2.14 p 4 2.35
201 2.14 p 5 2.31
201 2.14 p 6 2.62
202 3.37 p 2 3.02
202 3.37 p 3 3.19
202 3.37 p 4 2.98
202 3.37 p 6 2.75
202 3.37 p 7 2.70
203 1.88 p 1 1.99
203 1.88 p 2 1.62
203 1.88 p 3 1.65
203 1.88 p 4 1.68
203 1.88 p 7 1.96
203 1.88 p 8 1.30
204 3.10 p 1 3.24
204 3.10 p 2 3.37
204 3.10 p 3 3.54
204 3.10 p 4 3.31
204 3.10 p 5 2.81
204 3.10 p 6 3.58
205 2.91 p 2 3.92
205 2.91 p 3 3.69
205 2.91 p 4 3.97
205 2.91 p 5 3.94
205 2.91 p 6 3.63
205 2.91 p 7 2.92
205 2.91 p 8 3.31
206 2.29 p 1 3.04
206 2.29 p 2 3.28
206 2.29 p 3 3.17
206 2.29 p 6 3.21
206 2.29 p 8 2.82
207 2.20 p 1 2.46
207 2.20 p 2 3.22
207 2.20 p 3 2.65
207 2.20 p 4 3.02
207 2.20 p 5 2.25
207 2.20 p 7 2.37
208 2.70 p 1 2.85
208 2.70 p 2 2.81
208 2.70 p 4 2.69
208 2.70 p 5 2.18
208 2.70 p 6 1.91
209 2.25 p 1 3.45
209 2.25 p 4 3.60
209 2.25 p 5 2.83
209 2.25 p 7 3.22
209 2.25 p 8 3.13
210 2.48 p 1 2.56
210 2.48 p 2 2.52
210 2.48 p 4 2.60
210 2.48 p 5 2.68
210 2.48 p 7 2.65
210 2.48 p 8 2.61
211 2.12 p 1 2.19
211 2.12 p 2 2.44
211 2.12 p 4 2.55
211 2.12 p 5 2.93
211 2.12 p 6 3.08
211 2.12 p 8 3.06
212 2.37 p 2 1.92
212 2.37 p 3 1.75
212 2.37 p 4 1.58
212 2.37 p 5 1.51
212 2.37 p 6 1.94
212 2.37 p 7 1.84
212 2.37 p 8 1.76
214 2.73 p 2 3.08
214 2.73 p 4 2.91
214 2.73 p 5 2.71
214 2.73 p 6 2.39
214 2.73 p 7 2.42
214 2.73 p 8 2.73
215 3.15 p 4 2.39
215 3.15 p 5 3.01
215 3.15 p 8 3.14
216 2.52 p 2 3.21
216 2.52 p 3 3.17
216 2.52 p 4 3.13
216 2.52 p 8 3.35
217 1.48 p 1 1.35
217 1.48 p 2 1.15
217 1.48 p 3 1.24
217 1.48 p 4 1.32
217 1.48 p 5 0.95
217 1.48 p 7 1.04
217 1.48 p 8 1.16
218 2.52 p 1 2.61
218 2.52 p 2 2.59
218 2.52 p 3 2.77
218 2.52 p 4 2.73
218 2.52 p 5 2.70
218 2.52 p 6 2.72
218 2.52 p 7 2.71
218 2.52 p 8 2.75
219 2.90 p 1 2.91
219 2.90 p 2 2.89
219 2.90 p 4 2.74
219 2.90 p 5 2.71
219 2.90 p 6 2.86
220 2.83 p 1 2.78
220 2.83 p 2 2.89
220 2.83 p 3 2.77
220 2.83 p 4 2.77
220 2.83 p 6 2.65
220 2.83 p 7 2.84
221 3.50 p 1 3.81
221 3.50 p 4 3.90
221 3.50 p 5 3.80
221 3.50 p 6 3.78
221 3.50 p 7 3.70
221 3.50 p 8 3.61
222 2.86 p 1 3.06
222 2.86 p 2 2.95
222 2.86 p 3 3.07
222 2.86 p 5 2.67
222 2.86 p 6 2.68
222 2.86 p 8 2.89
223 2.42 p 1 2.87
223 2.42 p 2 3.08
223 2.42 p 3 3.02
223 2.42 p 4 3.14
223 2.42 p 5 3.67
223 2.42 p 7 3.55
223 2.42 p 8 3.75
224 3.66 p 1 3.98
224 3.66 p 2 3.77
224 3.66 p 3 3.65
224 3.66 p 4 3.81
224 3.66 p 6 3.89
224 3.66 p 7 3.63
232 2.88 p 1 3.04
232 2.88 p 4 3.37
232 2.88 p 5 2.69
232 2.88 p 6 2.89
;
data SixPatients;
set Fev;
if 206 <= Patient <= 211 then output;
run;
proc sgpanel data=SixPatients noautolegend;
panelby Drug / columns=3;
rowaxis label = "FEV";
scatter x=Hour y=Fev / group=Patient;
series x=Hour y=Fev / group=Patient;
run;
proc bglimm data=Fev nmc=50000 nbi=2000 seed=44672057
outpost=Fev_mod1 ;
class Drug Patient Hour;
model FEV = BaseVal Drug;
random int / subject=Hour covprior=uniform(lower=0,upper=2);
random int / subject=Patient;
run;
proc bglimm data=Fev nmc=10000 seed=44672057
outpost=Fev_mod2;
class Drug Patient Hour;
model FEV = BaseVal Drug Hour;
random int / subject=Patient;
estimate "A vs B" Drug 1 -1;
run;
proc bglimm data=Fev nmc=10000 seed=44672057
outpost=Fev_mod4;
class Drug Patient Hour;
model FEV = BaseVal Drug Hour;
random int / subject=Patient;
repeated Hour / subject=Patient(Drug) type=un r rcorr;
run;
ods output rcorr=rcorr r=rcov;
proc bglimm data=Fev nmc=10000 seed=44672057
outpost=Fev_mod4;
class Drug Patient Hour;
model FEV = BaseVal Drug Hour;
random int / subject=Patient;
repeated hour / subject=Patient(Drug) type=un r rcorr;
run;
data r;
set rcorr;
array col[8] col_:;
X = Row;
do Y = 1 to 8;
corr = col[Y];
output;
end;
keep X Y corr;
run;
data c;
set rcov;
array col[8] col_:;
X = Row;
do Y = 1 to 8;
cov = col[Y];
output;
end;
keep cov;
run;
data a;
merge r c;
run;
proc template;
define statgraph heatmaps;
begingraph / subpixel=on;
entrytitle "Correlation Matrices";
layout overlay /
xaxisopts=(label='Hour'
discreteopts=(tickvaluefitpolicy=thin))
yaxisopts=(label='Hour'
discreteopts=(tickvaluefitpolicy=thin)
reverse=true)
aspectRatio=1;
heatMapParm x=x y=y colorResponse=corr / xGap=1px yGap=1px
colormodel=threecolorramp name='heat2';
continuouslegend 'heat' / orient=vertical location=outside halign=right;
endlayout;
endgraph;
end;
run;
proc sgrender data=a template=heatmaps;
run;
data Pred;
input Patient BaseVal Drug$ Hour FEV;
datalines;
1 2.46 a 1 .
1 2.46 a 2 .
1 2.46 a 3 .
1 2.46 a 4 .
1 2.46 a 5 .
1 2.46 a 6 .
1 2.46 a 7 .
1 2.46 a 8 .
1 2.46 c 1 .
1 2.46 c 2 .
1 2.46 c 3 .
1 2.46 c 4 .
1 2.46 c 5 .
1 2.46 c 6 .
1 2.46 c 7 .
1 2.46 c 8 .
1 2.46 p 1 .
1 2.46 p 2 .
1 2.46 p 3 .
1 2.46 p 4 .
1 2.46 p 5 .
1 2.46 p 6 .
1 2.46 p 7 .
1 2.46 p 8 .
;
data Combined;
set Fev Pred;
run;
proc bglimm data=Combined nmc=10000 seed=44672057
outpost=Fev_mod4_pred;
class Drug Patient Hour;
model FEV = BaseVal Drug|Hour;
random int / subject=Patient;
repeated Hour / subject=Patient(Drug) type=un;
run;
%sumint(data=Fev_mod4_pred, var=FEV_:, print=NO, out=pred_si)
data Comb_pred;
merge Pred Pred_si;
run;
proc sgpanel data=Comb_pred noautolegend;
panelby Drug / columns=3 ;
rowaxis label = "FEV";
scatter x=Hour y=mean / group=Patient;
series x=Hour y=mean / group=Patient;
run;