East Carolina University
 
College of Allied Health Sciences
Department of Biostatistics


Printer Friendly


 


 

/

* Potthoff and Roy Data      */


/* MANOVA                     */

DATA prdental;
   INFILE "U:\Workshop\pr.dat";
INPUT Gender ID Dist8 Dist10 Dist12 Dist14;
 IF Gender=. then DO;
   Male=.;
   Female=.;
   END;
 ELSE DO;
   Male=(Gender=1);
   Female=(Gender=2);
   END;
RUN;

TITLE1 "Potthoff and Roy Dental Data";
TITLE2 "Listing of the Data";
PROC PRINT;
RUN;

/* Note:  The following MANOVA tests */
/* and CONTRASTS could be done in    */
/* one PROC GLM, but the output is   */
/* harder to label well.             */

/* Slides 14, 15,16*/
PROC GLM DATA=prdental;
MODEL Dist8 -- Dist14 = Male Female / NOINT NOUNI; 
TITLE2 "TEST 1: Tests of Parallelism";
CONTRAST 'Parallelism'
      Male 1 Female -1;
MANOVA  M=(  1 -1  0  0,
             0  1 -1  0,
             0  0  1 -1)
        MNAMES = age8_10 age10_12 age12_14;
RUN;

PROC GLM DATA=prdental;
CLASS Gender ;
MODEL Dist8 -- Dist14 = Gender / NOUNI; 
TITLE2 "TEST 1: Tests of Parallelism";
MANOVA  H=Gender
        M=(  1 -1  0  0,
             0  1 -1  0,
             0  0  1 -1)
        MNAMES = age8_10 age10_12 age12_14;
RUN;

PROC GLM DATA=prdental;
MODEL Dist8 -- Dist14 = Male Female / NOINT NOUNI; 
TITLE2 "TEST 2:  Test of Gender Differences ";
CONTRAST 'Gender'
          Male 1 Female -1;
MANOVA M=(1  0  0  0,
          0  1  0  0,
          0  0  1  0,
          0  0  0  1);
RUN;


PROC GLM DATA=prdental;
MODEL Dist8 -- Dist14 = Male Female / NOINT NOUNI; 
TITLE2 "Test 3:  Test of Time Differences";
CONTRAST 'Time'
         Male 1, Female 1;
MANOVA M=(1  0  0  -1,
          0  1  0  -1,
          0  0  1  -1);
RUN;

PROC GLM DATA=prdental;
MODEL Dist8 -- Dist14 = Male Female / NOINT NOUNI; 
TITLE2 "Test 4:  Test of Time Differences within Males Only";
CONTRAST 'Time (Male)'
         Male 1;
MANOVA M=(1  0  0  -1,
          0  1  0  -1,
          0  0  1  -1);
RUN;

 

/* Repeated Measures ANOVA           */
/* Slides 21, 22 */
PROC GLM DATA=prdental;
CLASS Gender ;
MODEL Dist8 -- Dist14 = Gender / NOUNI; 
REPEATED Age 4 (8 10 12 14) / PRINTE NOM;
RUN;


/* General Linear Model           */
/* Slides 27, 28, 29 */
DATA prdental1; SET prdental;
/* renumber the girls so that they have different IDs than the boys */
IF Gender=2 THEN ID=ID+16;

/* restructure the dataset into a "long version, which  */
/* strings out all observations as separate records.    */
Age=8; Distance=Dist8; OUTPUT;
Age=10; Distance=Dist10; OUTPUT;
Age=12; Distance=dist12; OUTPUT;
Age=14; Distance=dist14; OUTPUT;

DROP Dist8 -- Dist14; /* no longer needed */
RUN;
PROC PRINT;
RUN;

TITLE2 "Common Compound Symmetry Structure";
PROC MIXED METHOD=ml DATA=prdental1;
CLASS Gender ID;
MODEL Distance = Gender Gender*Age / NOINT SOLUTION ;
REPEATED / TYPE = cs SUBJECT = ID R;
RUN;

TITLE2 "Common AR(1) Structure";
PROC MIXED METHOD=ml DATA=prdental1;
CLASS Gender ID;
MODEL Distance = Gender Gender*Age / NOINT SOLUTION ;
REPEATED / TYPE = ar(1)  SUBJECT=ID R;
RUN;

TITLE2 "Different Compound Symmetry Structure for Each Group";
PROC MIXED METHOD=ml DATA=prdental1;
CLASS Gender ID;
MODEL Distance = Gender Gender*Age / NOINT SOLUTION ;
REPEATED / TYPE = cs SUBJECT = ID R=1,17 GROUP=Gender;
RUN;

 

/* Linear Mixed Model           */
/* Slides 32, 33, 34 */
TITLE2 "Linear Mixed Model";
PROC MIXED METHOD=ml DATA=prdental1;
CLASS Gender ID;
MODEL Distance = Gender Gender*Age / NOINT SOLUTION ;
RANDOM intercept Age / TYPE=un SUBJECT = ID G ;
REPEATED / TYPE = cs SUBJECT = ID R=1,17 GROUP=Gender;
RUN;

TITLE2 "Linear Mixed Model";
PROC MIXED METHOD=ml DATA=prdental1;
CLASS Gender ID;
MODEL Distance = Gender Gender*Age / NOINT SOLUTION ;
RANDOM intercept Age / TYPE=un SUBJECT = ID G GROUP=Gender;
REPEATED / TYPE = cs SUBJECT = ID R=1,17 GROUP=Gender;
RUN;

TITLE2 "Linear Mixed Model";
PROC MIXED METHOD=ml DATA=prdental1;
CLASS Gender ID;
MODEL Distance = Gender Gender*Age / NOINT SOLUTION ;
RANDOM intercept Age / TYPE=un SUBJECT = ID G ;
REPEATED / TYPE = cs SUBJECT = ID R=1,17 GROUP=Gender;
ESTIMATE 'diff in mean slope' Gender 0 0 Gender*Age 1 -1;
CONTRAST 'overall gender diff' Gender 1 -1, Gender*Age 1 -1 /CHISQ;
RUN;