The GLM Procedure

Example 46.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 46.5.1 through Output 46.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 46.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 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 46.5.2 and Output 46.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 46.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 46.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 46.5.4.

Output 46.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