/* Example of Repeated Measures Analysis */
/* From Milliken and Johnson, The Analysis of Messy Data */
options linesize=80 pagesize=50;
data repeat;
   input group $ p1 p2 p3 p4;
   cards;
preg	7.5	8.6	6.9	.8
preg	10.6	11.7	8.8	1.6
preg	12.4	13	11	5.6
preg	11.5	12.6	11.1	7.5
preg	8.3	8.9	6.8	.5
preg	9.2	10.1	8.6	3.8
notpreg	13.3	13.3	12.9	11.1
notpreg	10.7	10.8	10.7	9.3
notpreg	12.5	12.7	12	10.1
notpreg	8.4	8.7	8.1	5.7
notpreg	9.4	9.6	8	3.8
notpreg	11.3	11.7	10	8.5
proc anova;
   class group;
   model p1 p2 p3 p4 = group;
   means group;
   repeated period 4 (1 2 3 4) polynomial / summary printe printh;
data times; set repeat;
   y = p1; period = 1; output;
   y = p2; period = 2; output;
   y = p3; period = 3; output;
   y = p4; period = 4; output;
   drop p1--p4;
proc sort; by period group;
proc means noprint; by period group;
   var y;
   output out=means mean=my;
proc plot;
   plot my*period=group;
/* analysis of differences */
data diff; set repeat;
   d1 = p2 - p1;
   d2 = p3 - p2;
   d3 = p4 - p3;
proc anova;
   class group;
   model d1 d2 d3 = group;
   means group;
   repeated diff 3 (1.5 2.5 3.5) polynomial / summary printe printh;
data dtimes; set diff;
   dy = d1; period = 1.5; output;
   dy = d2; period = 2.5; output;
   dy = d3; period = 3.5; output;
   drop p1--p4 d1--d3;
proc sort; by period group;
proc means noprint; by period group;
   var dy;
   output out=means mean=mdy;
proc plot;
   plot mdy*period=group;
