The GLM Procedure

Example 45.5 Three-Way Analysis of Variance with Contrasts

This example uses data from Cochran and Cox (1957, p. 176) to illustrate the analysis of a three-way factorial design with replication, including the use of the CONTRAST statement with interactions, the OUTSTAT= data set, and the SLICE= option in the LSMEANS statement.

The object of the study is to determine the effects of electric current on denervated muscle. The variables are as follows:

Rep

the replicate number, 1 or 2

Time

the length of time the current is applied to the muscle, ranging from 1 to 4

Current

the level of electric current applied, ranging from 1 to 4

Number

the number of treatments per day, ranging from 1 to 3

MuscleWeight

the weight of the denervated muscle

The following statements produce Output 45.5.1 through Output 45.5.4.

data muscles;
   do Rep=1 to 2;
      do Time=1 to 4;
         do Current=1 to 4;
            do Number=1 to 3;
               input MuscleWeight @@;
               output;
            end;
         end;
      end;
   end;
   datalines;
72 74 69 61 61 65 62 65 70 85 76 61
67 52 62 60 55 59 64 65 64 67 72 60
57 66 72 72 43 43 63 66 72 56 75 92
57 56 78 60 63 58 61 79 68 73 86 71
46 74 58 60 64 52 71 64 71 53 65 66
44 58 54 57 55 51 62 61 79 60 78 82
53 50 61 56 57 56 56 56 71 56 58 69
46 55 64 56 55 57 64 66 62 59 58 88
;
proc glm outstat=summary;
   class Rep Current Time Number;
   model MuscleWeight = Rep Current|Time|Number;
   contrast 'Time in Current 3'
      Time 1 0 0 -1 Current*Time 0 0 0 0 0 0 0 0 1 0 0 -1,
      Time 0 1 0 -1 Current*Time 0 0 0 0 0 0 0 0 0 1 0 -1,
      Time 0 0 1 -1 Current*Time 0 0 0 0 0 0 0 0 0 0 1 -1;
   contrast 'Current 1 versus 2' Current 1 -1;
   lsmeans Current*Time / slice=Current;
run;
proc print data=summary;
run;

The first CONTRAST statement examines the effects of Time within level 3 of Current. This is also called the simple effect of Time within Current*Time. Note that, since there are three degrees of freedom, it is necessary to specify three rows in the CONTRAST statement, separated by commas. Since the parameterization that PROC GLM uses is determined in part by the ordering of the variables in the CLASS statement, Current is specified before Time so that the Time parameters are nested within the Current*Time parameters; thus, the Current*Time contrast coefficients in each row are simply the Time coefficients of that row within the appropriate level of Current.

The second CONTRAST statement isolates a single-degree-of-freedom effect corresponding to the difference between the first two levels of Current. You can use such a contrast in a large experiment where certain preplanned comparisons are important, but you want to take advantage of the additional error degrees of freedom available when all levels of the factors are considered.

The LSMEANS statement with the SLICE= option is an alternative way to test for the simple effect of Time within Current*Time. In addition to listing the LS-means for each current strength and length of time, it gives a table of F tests for differences between the LS-means across Time within each Current level. In some cases, this can be a way to disentangle a complex interaction.

Output 45.5.1: Overall Analysis

The GLM Procedure

Class Level Information
Class Levels Values
Rep 2 1 2
Current 4 1 2 3 4
Time 4 1 2 3 4
Number 3 1 2 3

Number of Observations Read 96
Number of Observations Used 96

The GLM Procedure
 
Dependent Variable: MuscleWeight

Source DF Sum of Squares Mean Square F Value Pr > F
Model 48 5782.916667 120.477431 1.77 0.0261
Error 47 3199.489583 68.074246    
Corrected Total 95 8982.406250      

R-Square Coeff Var Root MSE MuscleWeight Mean
0.643805 13.05105 8.250712 63.21875



The output, shown in Output 45.5.2 and Output 45.5.3, indicates that the main effects for Rep, Current, and Number are significant (with p-values of 0.0045, <0.0001, and 0.0461, respectively), but the main effect for Time is not significant, indicating that, in general, it does not matter how long the current is applied. None of the interaction terms are significant, nor are the contrasts significant. Notice that the row in the sliced ANOVA table corresponding to level 3 of current matches the "Time in Current 3" contrast.

Output 45.5.2: Individual Effects and Contrasts

Source DF Type I SS Mean Square F Value Pr > F
Rep 1 605.010417 605.010417 8.89 0.0045
Current 3 2145.447917 715.149306 10.51 <.0001
Time 3 223.114583 74.371528 1.09 0.3616
Current*Time 9 298.677083 33.186343 0.49 0.8756
Number 2 447.437500 223.718750 3.29 0.0461
Current*Number 6 644.395833 107.399306 1.58 0.1747
Time*Number 6 367.979167 61.329861 0.90 0.5023
Current*Time*Number 18 1050.854167 58.380787 0.86 0.6276

Source DF Type III SS Mean Square F Value Pr > F
Rep 1 605.010417 605.010417 8.89 0.0045
Current 3 2145.447917 715.149306 10.51 <.0001
Time 3 223.114583 74.371528 1.09 0.3616
Current*Time 9 298.677083 33.186343 0.49 0.8756
Number 2 447.437500 223.718750 3.29 0.0461
Current*Number 6 644.395833 107.399306 1.58 0.1747
Time*Number 6 367.979167 61.329861 0.90 0.5023
Current*Time*Number 18 1050.854167 58.380787 0.86 0.6276

Contrast DF Contrast SS Mean Square F Value Pr > F
Time in Current 3 3 34.83333333 11.61111111 0.17 0.9157
Current 1 versus 2 1 99.18750000 99.18750000 1.46 0.2334



Output 45.5.3: Simple Effects of Time

The GLM Procedure
Least Squares Means

Current*Time Effect Sliced by Current for MuscleWeight
Current DF Sum of Squares Mean Square F Value Pr > F
1 3 271.458333 90.486111 1.33 0.2761
2 3 120.666667 40.222222 0.59 0.6241
3 3 34.833333 11.611111 0.17 0.9157
4 3 94.833333 31.611111 0.46 0.7085



The SS, F statistics, and p-values can be stored in an OUTSTAT= data set, as shown in Output 45.5.4.

Output 45.5.4: Contents of the OUTSTAT= Data Set

Obs _NAME_ _SOURCE_ _TYPE_ DF SS F PROB
1 MuscleWeight ERROR ERROR 47 3199.49 . .
2 MuscleWeight Rep SS1 1 605.01 8.8875 0.00454
3 MuscleWeight Current SS1 3 2145.45 10.5054 0.00002
4 MuscleWeight Time SS1 3 223.11 1.0925 0.36159
5 MuscleWeight Current*Time SS1 9 298.68 0.4875 0.87562
6 MuscleWeight Number SS1 2 447.44 3.2864 0.04614
7 MuscleWeight Current*Number SS1 6 644.40 1.5777 0.17468
8 MuscleWeight Time*Number SS1 6 367.98 0.9009 0.50231
9 MuscleWeight Current*Time*Number SS1 18 1050.85 0.8576 0.62757
10 MuscleWeight Rep SS3 1 605.01 8.8875 0.00454
11 MuscleWeight Current SS3 3 2145.45 10.5054 0.00002
12 MuscleWeight Time SS3 3 223.11 1.0925 0.36159
13 MuscleWeight Current*Time SS3 9 298.68 0.4875 0.87562
14 MuscleWeight Number SS3 2 447.44 3.2864 0.04614
15 MuscleWeight Current*Number SS3 6 644.40 1.5777 0.17468
16 MuscleWeight Time*Number SS3 6 367.98 0.9009 0.50231
17 MuscleWeight Current*Time*Number SS3 18 1050.85 0.8576 0.62757
18 MuscleWeight Time in Current 3 CONTRAST 3 34.83 0.1706 0.91574
19 MuscleWeight Current 1 versus 2 CONTRAST 1 99.19 1.4570 0.23344