In this example, four different fertilizer treatments are laid out in vertical strips, which are then split into subplots with different levels of calcium. Soil type is stripped across the split-plot experiment, and the entire experiment is then replicated three times. The dependent variable is the yield of winter barley. The data come from the notes of G. Cox and A. Rotti.
The input data are the 96 values of Y, arranged so that the calcium value (Calcium) changes most rapidly, then the fertilizer value (Fertilizer), then the Soil value, and, finally, the Rep value. Values are shown for Calcium (0 and 1); Fertilizer (0, 1, 2, 3); Soil (1, 2, 3); and Rep (1, 2, 3, 4). The following example produces Output 25.5.1, Output 25.5.2, Output 25.5.3, and Output 25.5.4.
title1 'Strip-split Plot';
data Barley;
do Rep=1 to 4;
do Soil=1 to 3; /* 1=d 2=h 3=p */
do Fertilizer=0 to 3;
do Calcium=0,1;
input Yield @;
output;
end;
end;
end;
end;
datalines;
4.91 4.63 4.76 5.04 5.38 6.21 5.60 5.08
4.94 3.98 4.64 5.26 5.28 5.01 5.45 5.62
5.20 4.45 5.05 5.03 5.01 4.63 5.80 5.90
6.00 5.39 4.95 5.39 6.18 5.94 6.58 6.25
5.86 5.41 5.54 5.41 5.28 6.67 6.65 5.94
5.45 5.12 4.73 4.62 5.06 5.75 6.39 5.62
4.96 5.63 5.47 5.31 6.18 6.31 5.95 6.14
5.71 5.37 6.21 5.83 6.28 6.55 6.39 5.57
4.60 4.90 4.88 4.73 5.89 6.20 5.68 5.72
5.79 5.33 5.13 5.18 5.86 5.98 5.55 4.32
5.61 5.15 4.82 5.06 5.67 5.54 5.19 4.46
5.13 4.90 4.88 5.18 5.45 5.80 5.12 4.42
;
proc anova data=Barley;
class Rep Soil Calcium Fertilizer;
model Yield =
Rep
Fertilizer Fertilizer*Rep
Calcium Calcium*Fertilizer Calcium*Rep(Fertilizer)
Soil Soil*Rep
Soil*Fertilizer Soil*Rep*Fertilizer
Soil*Calcium Soil*Fertilizer*Calcium
Soil*Calcium*Rep(Fertilizer);
test h=Fertilizer e=Fertilizer*Rep;
test h=Calcium calcium*fertilizer e=Calcium*Rep(Fertilizer);
test h=Soil e=Soil*Rep;
test h=Soil*Fertilizer e=Soil*Rep*Fertilizer;
test h=Soil*Calcium
Soil*Fertilizer*Calcium e=Soil*Calcium*Rep(Fertilizer);
means Fertilizer Calcium Soil Calcium*Fertilizer;
run;
Output 25.5.1: Class Level Information
| Strip-split Plot |
| Class Level Information | ||
|---|---|---|
| Class | Levels | Values |
| Rep | 4 | 1 2 3 4 |
| Soil | 3 | 1 2 3 |
| Calcium | 2 | 0 1 |
| Fertilizer | 4 | 0 1 2 3 |
| Number of Observations Read | 96 |
|---|---|
| Number of Observations Used | 96 |
Output 25.5.2: ANOVA Table
| Strip-split Plot |
| Source | DF | Sum of Squares | Mean Square | F Value | Pr > F |
|---|---|---|---|---|---|
| Model | 95 | 31.89149583 | 0.33569996 | . | . |
| Error | 0 | 0.00000000 | . | ||
| Corrected Total | 95 | 31.89149583 |
| R-Square | Coeff Var | Root MSE | Yield Mean |
|---|---|---|---|
| 1.000000 | . | . | 5.427292 |
| Source | DF | Anova SS | Mean Square | F Value | Pr > F |
|---|---|---|---|---|---|
| Rep | 3 | 6.27974583 | 2.09324861 | . | . |
| Fertilizer | 3 | 7.22127083 | 2.40709028 | . | . |
| Rep*Fertilizer | 9 | 6.08211250 | 0.67579028 | . | . |
| Calcium | 1 | 0.27735000 | 0.27735000 | . | . |
| Calcium*Fertilizer | 3 | 1.96395833 | 0.65465278 | . | . |
| Rep*Calcium(Fertili) | 12 | 1.76705833 | 0.14725486 | . | . |
| Soil | 2 | 1.92658958 | 0.96329479 | . | . |
| Rep*Soil | 6 | 1.66761042 | 0.27793507 | . | . |
| Soil*Fertilizer | 6 | 0.68828542 | 0.11471424 | . | . |
| Rep*Soil*Fertilizer | 18 | 1.58698125 | 0.08816563 | . | . |
| Soil*Calcium | 2 | 0.04493125 | 0.02246562 | . | . |
| Soil*Calcium*Fertili | 6 | 0.18936042 | 0.03156007 | . | . |
| Rep*Soil*Calc(Ferti) | 24 | 2.19624167 | 0.09151007 | . | . |
Notice in Output 25.5.2 that the default tests against the residual error rate are all unavailable. This is because the Soil*Calcium*Rep(Fertilizer) term in the model takes up all the degrees of freedom, leaving none for estimating the residual error rate. This is appropriate
in this case since the TEST statements give the specific error terms appropriate for testing each effect. Output 25.5.3 displays the output produced by the various TEST statements. The only significant effect is the Calcium*Fertilizer interaction.
Output 25.5.3: Tests of Effects
| Tests of Hypotheses Using the Anova MS for Rep*Fertilizer as an Error Term | |||||
|---|---|---|---|---|---|
| Source | DF | Anova SS | Mean Square | F Value | Pr > F |
| Fertilizer | 3 | 7.22127083 | 2.40709028 | 3.56 | 0.0604 |
| Tests of Hypotheses Using the Anova MS for Rep*Calcium(Fertili) as an Error Term | |||||
|---|---|---|---|---|---|
| Source | DF | Anova SS | Mean Square | F Value | Pr > F |
| Calcium | 1 | 0.27735000 | 0.27735000 | 1.88 | 0.1950 |
| Calcium*Fertilizer | 3 | 1.96395833 | 0.65465278 | 4.45 | 0.0255 |
| Tests of Hypotheses Using the Anova MS for Rep*Soil as an Error Term | |||||
|---|---|---|---|---|---|
| Source | DF | Anova SS | Mean Square | F Value | Pr > F |
| Soil | 2 | 1.92658958 | 0.96329479 | 3.47 | 0.0999 |
| Tests of Hypotheses Using the Anova MS for Rep*Soil*Fertilizer as an Error Term | |||||
|---|---|---|---|---|---|
| Source | DF | Anova SS | Mean Square | F Value | Pr > F |
| Soil*Fertilizer | 6 | 0.68828542 | 0.11471424 | 1.30 | 0.3063 |
| Tests of Hypotheses Using the Anova MS for Rep*Soil*Calc(Ferti) as an Error Term | |||||
|---|---|---|---|---|---|
| Source | DF | Anova SS | Mean Square | F Value | Pr > F |
| Soil*Calcium | 2 | 0.04493125 | 0.02246562 | 0.25 | 0.7843 |
| Soil*Calcium*Fertili | 6 | 0.18936042 | 0.03156007 | 0.34 | 0.9059 |
Output 25.5.4: Results of MEANS statement
| Level of Fertilizer |
N | Yield | |
|---|---|---|---|
| Mean | Std Dev | ||
| 0 | 24 | 5.18416667 | 0.48266395 |
| 1 | 24 | 5.12916667 | 0.38337082 |
| 2 | 24 | 5.75458333 | 0.53293265 |
| 3 | 24 | 5.64125000 | 0.63926801 |
| Level of Calcium |
N | Yield | |
|---|---|---|---|
| Mean | Std Dev | ||
| 0 | 48 | 5.48104167 | 0.54186141 |
| 1 | 48 | 5.37354167 | 0.61565219 |
| Level of Soil |
N | Yield | |
|---|---|---|---|
| Mean | Std Dev | ||
| 1 | 32 | 5.54312500 | 0.55806369 |
| 2 | 32 | 5.51093750 | 0.62176315 |
| 3 | 32 | 5.22781250 | 0.51825224 |
| Level of Calcium |
Level of Fertilizer |
N | Yield | |
|---|---|---|---|---|
| Mean | Std Dev | |||
| 0 | 0 | 12 | 5.34666667 | 0.45029956 |
| 0 | 1 | 12 | 5.08833333 | 0.44986530 |
| 0 | 2 | 12 | 5.62666667 | 0.44707806 |
| 0 | 3 | 12 | 5.86250000 | 0.52886027 |
| 1 | 0 | 12 | 5.02166667 | 0.47615569 |
| 1 | 1 | 12 | 5.17000000 | 0.31826233 |
| 1 | 2 | 12 | 5.88250000 | 0.59856077 |
| 1 | 3 | 12 | 5.42000000 | 0.68409197 |
Output 25.5.4 shows the results of the MEANS statement, displaying for various effects and combinations of effects, as requested. You can examine the Calcium*Fertilizer means to understand the interaction better.
In this example, you could reduce memory requirements by omitting the Soil*Calcium*Rep(Fertilizer) effect from the model in the MODEL statement. This effect then becomes the ERROR effect, and you can omit the last TEST statement in the statements shown earlier. The test for the Soil*Calcium effect is then given in the Analysis of Variance table in the top portion of output. However, for all other tests, you should
look at the results from the TEST statement. In large models, this method might lead to significant reductions in memory requirements.