Example 9 for PROC CATMOD
/****************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: CATEX9 */
/* TITLE: Example 9 for PROC CATMOD */
/* PRODUCT: STAT */
/* SYSTEM: ALL */
/* KEYS: categorical data analysis */
/* PROCS: CATMOD */
/* DATA: */
/* */
/* SUPPORT: Bob Derr */
/* REF: SAS/STAT User's Guide, PROC CATMOD chapter */
/* MISC: */
/* */
/****************************************************************/
/*----------------------------------------------------------------
Example 9: Repeated Measures, Two Repeated Measurement Factors
Diagnostic Procedure Comparison
-------------------------------
Two diagnostic procedures (standard and test) are done on each
subject, and the results of both are evaluated at each of two
times as being positive or negative.
From: MacMillan et al. (1981).
----------------------------------------------------------------*/
data a;
input std1 $ test1 $ std2 $ test2 $ wt @@;
datalines;
neg neg neg neg 509 neg neg neg pos 4 neg neg pos neg 17
neg neg pos pos 3 neg pos neg neg 13 neg pos neg pos 8
neg pos pos pos 8 pos neg neg neg 14 pos neg neg pos 1
pos neg pos neg 17 pos neg pos pos 9 pos pos neg neg 7
pos pos neg pos 4 pos pos pos neg 9 pos pos pos pos 170
;
proc catmod data=a;
title2 'Marginal Symmetry, Saturated Model';
weight wt;
response marginals;
model std1*test1*std2*test2=_response_ / freq design noparm;
repeated Time 2, Treatment 2 / _response_=Time Treatment
Time*Treatment;
run;
title2 'Marginal Symmetry, Reduced Model';
model std1*test1*std2*test2=_response_ / corrb design noprofile;
repeated Time 2, Treatment 2 / _response_=Treatment;
run;
title2 'Sensitivity and Specificity Analysis, '
'Main-Effects Model';
model std1*test1*std2*test2=_response_ / covb design noprofile;
repeated Time 2, Accuracy 2 / _response_=Time Accuracy;
response exp 1 -1 0 0 0 0 0 0,
0 0 1 -1 0 0 0 0,
0 0 0 0 1 -1 0 0,
0 0 0 0 0 0 1 -1
log 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1,
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1,
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0,
1 1 1 1 1 1 1 0 0 0 0 0 0 0 0,
0 0 0 1 0 0 1 0 0 0 1 0 0 0 1,
0 0 1 1 0 0 1 0 0 1 1 0 0 1 1,
1 0 0 0 1 0 0 1 0 0 0 1 0 0 0,
1 1 0 0 1 1 0 1 1 0 0 1 1 0 0;
quit;