UCLA Academic Technology Services HomeServicesClassesContactJobs
Search

Regression with SAS
Chapter 7: Categorical and Continuous Predictors and Interactions

Chapter Outline
    1. Continuous and categorical predictors without interaction
    2. Continuous and categorical predictors with interaction
    3. Show slopes for each group
         3.1 Show slopes by performing separate analyses
         3.2 Show slopes for each group from one analysis
    4. Compare slopes across groups
    5. Simple effects and simple comparisons of group, strategy 1
         5.1 Simple effects and comparisons when meals is 1 sd below mean
         5.2 Simple effects and comparisons when meals is at the mean
         5.3 Simple effects and comparisons when meals is 1 sd above the mean
    6. Simple effects and simple comparisons of group, strategy 2
    7. More on predicted values

1.0 Continuous and categorical predictors without interaction

data elemapi2;
  set 'd:\sas\sasdata\elemapi2';
run;

Creating the variables Icollcat2 and Icollcat3 by using the reverse Helmert coding on collcat.

data elemapi2;
  set elemapi2;
  Icollcat2 = 0;
  if collcat = 1 then Icollcat2 = -.5;
  if collcat = 2 then Icollcat2 =  .5;
  Icollcat3 = 2/3;
  if collcat = 1 then Icollcat3 = -1/3;
  if collcat = 2 then Icollcat3 = -1/3;
run;
proc freq data=elemapi2;
  tables ( Icollcat2 Icollcat3)*collcat/ norow nocol nopercent ;
run;
The FREQ Procedure

Table of Icollcat2 by collcat
Icollcat2     collcat

Frequency|       1|       2|       3|  Total
---------+--------+--------+--------+
    -0.5 |    129 |      0 |      0 |    129
---------+--------+--------+--------+
       0 |      0 |      0 |    137 |    137
---------+--------+--------+--------+
     0.5 |      0 |    134 |      0 |    134
---------+--------+--------+--------+
Total         129      134      137      400
Table of Icollcat3 by collcat
Icollcat3     collcat

Frequency    |       1|       2|       3|  Total
-------------+--------+--------+--------+
-0.333333333 |    129 |    134 |      0 |    263
-------------+--------+--------+--------+
0.6666666667 |      0 |      0 |    137 |    137
-------------+--------+--------+--------+
Total             129      134      137      400

Traditional ANCOVA: regressing a continuous dependent variable on predictors that includes both categorical and
continuous predictors (without any interactions).

proc reg data= elemapi2;
  model api00 = Icollcat2 Icollcat3 meals;
  output out=temp p=predict;
run;
quit;
The REG Procedure
Model: MODEL1
Dependent Variable: api00 api 2000

                             Analysis of Variance

                                    Sum of           Mean
Source                   DF        Squares         Square    F Value    Pr > F
Model                     3        6586952        2195651     584.83    <.0001
Error                   396        1486720     3754.34394
Corrected Total         399        8073672

Root MSE             61.27270    R-Square     0.8159
Dependent Mean      647.62250    Adj R-Sq     0.8145
Coeff Var             9.46118
                     Parameter Estimates

                     Parameter       Standard
Variable     DF       Estimate          Error    t Value    Pr > |t|
Intercept    1      885.17891        6.71886     131.75      <.0001
Icollcat2    1       14.01454        7.62786       1.84      0.0669
Icollcat3    1       17.23322        6.58145       2.62      0.0092
meals        1       -3.94267        0.09883     -39.89      <.0001

Generating the graph with a regression line for each level of collcat.
Note: Each line has the same slope, namely the coefficient of meals in the regression output. The coefficient of
Icollcat2 is the difference in y-intercepts between the lines for collcat=1 and collcat=2 whereas the coefficient of
Icollcat3 is the difference in y-intercept between the line for collcat=3 and the average of the lines for collcat=1
and collcat=2. This is simply a result of using the reverse Helmert coding for collcat when creating Icollcat2 and
Icollcat3.

goptions reset=all; 
symbol1 v=square i=join c=blue h=.6;
symbol2 v=dot i=join c=red h=.6;
symbol3 v=plus i=join c=green h=.6;
axis1 label=(a=90 'Predicted');

proc gplot data=temp;
  plot predict*meals=collcat/overlay  vaxis=axis1;
run;
quit;

2.0  Continuous and categorical predictors with interaction

Testing the homogeneity of slopes by creating the two interactions and then testing to see if the overall
interaction is significant.

data elemapi2;
  set elemapi2;
  Icolmeal2 = Icollcat2*meals;
  Icolmeal3 = Icollcat3*meals;
run;
proc reg data=elemapi2;
  model api00 = meals Icollcat2 Icollcat3 Icolmeal2 Icolmeal3;
  output out=temp p=predict;
  interaction: test Icolmeal2=Icolmeal3=0;
run;
quit;
The REG Procedure
Model: MODEL1
Dependent Variable: api00 api 2000

                             Analysis of Variance

                                    Sum of           Mean
Source                   DF        Squares         Square    F Value    Pr > F
Model                     5        6629930        1325986     361.86    <.0001
Error                   394        1443742     3664.32012
Corrected Total         399        8073672

Root MSE             60.53363    R-Square     0.8212
Dependent Mean      647.62250    Adj R-Sq     0.8189
Coeff Var             9.34705
                                 Parameter Estimates

                       Parameter       Standard
Variable       DF      Estimate          Error    t Value    Pr > |t|
Intercept      1      882.47026        6.69004     131.91      <.0001
meals          1       -3.85935        0.10064     -38.35      <.0001
Icollcat2      1       10.29492       16.24717       0.63      0.5267
Icollcat3      1      -26.42920       14.31193      -1.85      0.0655
Icolmeal2      1        0.02815        0.22250       0.13      0.8994
Icolmeal3      1        0.79489        0.23242       3.42      0.0007
The REG Procedure
Model: MODEL1

  Test interaction Results for Dependent Variable api00

                                Mean
Source             DF         Square    F Value    Pr > F
Numerator           2          21489       5.86    0.0031
Denominator       394     3664.32012

Generating a graph with a regression line for each of the levels of collcat.
Note: The lines are no longer parallel like they were in the previous graph which we
expected to see since the overall interaction test was significant.

goptions reset=all;
symbol1 v=square i=join c=blue h=.6;
symbol2 v=dot i=join c=red h=.6;
symbol3 v=plus i=join c=green h=.6;
axis1 label=(a=90 'Predicted');

proc gplot data=temp;
  plot predict*meals = collcat/overlay  vaxis=axis1;
run;
quit;

3.0  Show slopes for each group

3.1  Show slopes by performing separate analyses

It is entirely possible to get the slope and y-intercept for the regression line for each of
the levels of collcat. The by statement in the regression will accomplish this very easily.
Note: We need to sort the data set on collcat before we can use the by statement.

proc sort data=elemapi2 out=elemapisort;
  by collcat;
run;
proc reg data=elemapisort;
  by collcat;
  model api00=meals;
run;
quit;
collcat=1
The REG Procedure
Model: MODEL1
Dependent Variable: api00 api 2000

                             Analysis of Variance

                                    Sum of           Mean
Source                   DF        Squares         Square    F Value    Pr > F
Model                     1        2617393        2617393     664.41    <.0001
Error                   127         500307     3939.42342
Corrected Total         128        3117699

Root MSE             62.76483    R-Square     0.8395
Dependent Mean      596.34884    Adj R-Sq     0.8383
Coeff Var            10.52485
                                 Parameter Estimates

                     Parameter       Standard
Variable     DF       Estimate          Error    t Value    Pr > |t|
Intercept    1      886.13253       12.52709      70.74      <.0001
meals        1       -4.13839        0.16055     -25.78      <.0001
collcat=2

                             Analysis of Variance

                                    Sum of           Mean
Source                   DF        Squares         Square    F Value    Pr > F
Model                     1        2424782        2424782     676.61    <.0001
Error                   132         473050     3583.71194
Corrected Total         133        2897832

Root MSE             59.86411    R-Square     0.8368
Dependent Mean      651.50000    Adj R-Sq     0.8355
Coeff Var             9.18866
                                 Parameter Estimates

                     Parameter       Standard
Variable     DF       Estimate          Error    t Value    Pr > |t|
Intercept    1      896.42745       10.74270      83.45      <.0001
meals        1       -4.11024        0.15801     -26.01      <.0001
collcat=3

                             Analysis of Variance

                                    Sum of           Mean
Source                   DF        Squares         Square    F Value    Pr > F
Model                     1         975466         975466     279.96    <.0001
Error                   135         470385     3484.33611
Corrected Total         136        1445851

Root MSE             59.02827    R-Square     0.6747
Dependent Mean      692.10949    Adj R-Sq     0.6723
Coeff Var             8.52875
                                 Parameter Estimates

                     Parameter       Standard
Variable     DF       Estimate          Error    t Value    Pr > |t|
Intercept    1      864.85079       11.48996      75.27      <.0001
meals        1       -3.32943        0.19899     -16.73      <.0001

3.2 Obtaining slopes for each group in one analysis

Obtaining the slope of meals for each level of collcat by first sorting the data and then using a by statement can be a bit cumbersome. Instead we can use the estimate statement in proc glm. Recall the variable coded using the reverse Helmert coding:

              collcat     Icollcat2     Icollcat3
               1             -.5             -1/3 
               2              .5             -1/3 
               3               0             -2/3

Thus, in order to get the slope of meals we need to have the appropriate coefficient for each of the interaction variables. For example, for the collcat=1 group the coefficient for Icolmeal2 will be the coefficient in the column for Icollcat2 in the collcat=1 row in the table above. In other words, the coefficient for Icolmeal2 will be -.5. This is because Icolmeal2 is the interaction of Icollcat2 and meals. Using the same logic we find that the coefficient for Icolmeal3 is -1/3, the coefficient for Icollcat3 in the collcat=1 row in the table above. Furthermore, using the same reasoning we find that for the collcat=2 group the coefficient for Icolmeal2 is .5 and for Icolmeal3 the coefficient is -1/3. For the collcat=3 group the coefficient for
Icolmeal2 is 0 and for Icolmeal3 it is -2/3.

Note: We are using the regression coding and the proc glm is missing a class statement which means that proc glm is basically functioning as a proc reg--but it is a new an improved proc reg because now it has an estimate statement!!!!

proc glm data=elemapi2;
  model api00 =  meals Icollcat2 Icollcat3 Icolmeal2 Icolmeal3;
  estimate 'slope of meals at collcat=1' meals 1 Icolmeal2 -.5 
           Icolmeal3 -.333333333;
  estimate 'slope of meals at collcat=2' meals 1 Icolmeal2 .5 
           Icolmeal3 -.3333333333;
  estimate 'slope of meals at collcat=3' meals 1 Icolmeal2 0 
           Icolmeal3 .666666667;
run;
quit;
The GLM Procedure
Number of observations    400
The GLM Procedure

Dependent Variable: api00   api 2000
                                        Sum of
Source                      DF         Squares     Mean Square    F Value    Pr > F
Model                        5     6629929.872     1325985.974     361.86    <.0001
Error                      394     1443742.126        3664.320
Corrected Total            399     8073671.998
R-Square     Coeff Var      Root MSE    api00 Mean
0.821179      9.347054      60.53363      647.6225
Source                      DF       Type I SS     Mean Square    F Value    Pr > F
meals                        1     6549825.145     6549825.145    1787.46    <.0001
Icollcat2                    1       11385.768       11385.768       3.11    0.0787
Icollcat3                    1       25740.884       25740.884       7.02    0.0084
Icolmeal2                    1         115.990         115.990       0.03    0.8589
Icolmeal3                    1       42862.086       42862.086      11.70    0.0007
Source                      DF     Type III SS     Mean Square    F Value    Pr > F
meals                        1     5389132.969     5389132.969    1470.70    <.0001
Icollcat2                    1        1471.242        1471.242       0.40    0.5267
Icollcat3                    1       12495.833       12495.833       3.41    0.0655
Icolmeal2                    1          58.655          58.655       0.02    0.8994
Icolmeal3                    1       42862.086       42862.086      11.70    0.0007
                                                   Standard
Parameter                          Estimate           Error    t Value    Pr > |t|
slope of meals at collcat=1     -4.13839216      0.15484383     -26.73      <.0001
slope of meals at collcat=2     -4.11024157      0.15978196     -25.72      <.0001
slope of meals at collcat=3     -3.32942579      0.20406098     -16.32      <.0001
                                  Standard
Parameter         Estimate           Error    t Value    Pr > |t|
Intercept      882.4702589      6.69003553     131.91      <.0001
meals           -3.8593532      0.10063563     -38.35      <.0001
Icollcat2       10.2949246     16.24717093       0.63      0.5267
Icollcat3      -26.4292002     14.31192705      -1.85      0.0655
Icolmeal2        0.0281506      0.22250143       0.13      0.8994
Icolmeal3        0.7948911      0.23241688       3.42      0.0007

Obtaining the exact same results using the GLM default coding (and a class statement so that proc glm functions
as proc glm and not as a proc reg).

proc glm data=elemapi2;
  class collcat;
  model api00 =  meals collcat collcat*meals ;
  estimate 'slope of meals at collcat=1' meals 1  collcat*meals 1 0 0;
  estimate 'slope of meals at collcat=2' meals 1  collcat*meals 0 1 0;
  estimate 'slope of meals at collcat=3' meals 1  collcat*meals 0 0 1;
run;
quit;
The GLM Procedure

   Class Level Information

Class         Levels    Values
collcat            3    1 2 3

Number of observations    400
The GLM Procedure
Dependent Variable: api00   api 2000

                                        Sum of
Source                      DF         Squares     Mean Square    F Value    Pr > F
Model                        5     6629929.872     1325985.974     361.86    <.0001
Error                      394     1443742.126        3664.320
Corrected Total            399     8073671.998
R-Square     Coeff Var      Root MSE    api00 Mean
0.821179      9.347054      60.53363      647.6225
Source                      DF       Type I SS     Mean Square    F Value    Pr > F
meals                        1     6549825.145     6549825.145    1787.46    <.0001
collcat                      2       37126.652       18563.326       5.07    0.0067
meals*collcat                2       42978.076       21489.038       5.86    0.0031
Source                      DF     Type III SS     Mean Square    F Value    Pr > F
meals                        1     5389132.969     5389132.969    1470.70    <.0001
collcat                      2       14535.351        7267.676       1.98    0.1390
meals*collcat                2       42978.076       21489.038       5.86    0.0031
                                                   Standard
Parameter                          Estimate           Error    t Value    Pr > |t|
slope of meals at collcat=1     -4.13839216      0.15484383     -26.73      <.0001
slope of meals at collcat=2     -4.11024157      0.15978196     -25.72      <.0001
slope of meals at collcat=3     -3.32942579      0.20406098     -16.32      <.0001

4.0  Comparing Slopes Across Groups

By using the reverse Helmert coding we can compare slopes of group 1 versus group2
by looking at the t-test for the coefficient of Icolmeal2. We can compare the slopes of
group 3 versus the average of groups 1 and 2 by looking at the t-test for the coefficient
of Icolmeal2 and Icolmeal3. From this we can conclude that the slopes of groups 1 and 2 are not
significantly different (p=0.8994) but that the slope of group 3 is significantly different
from the slope of the average of groups 1 and 2 (p=0.0007).

proc reg data=elemapi2;
  model api00 = meals Icollcat2 Icollcat3 Icolmeal2 Icolmeal3;
run;
quit;
The REG Procedure
Model: MODEL1
Dependent Variable: api00 api 2000

                             Analysis of Variance

                                    Sum of           Mean
Source                   DF        Squares         Square    F Value    Pr > F
Model                     5        6629930        1325986     361.86    <.0001
Error                   394        1443742     3664.32012
Corrected Total         399        8073672

Root MSE             60.53363    R-Square     0.8212
Dependent Mean      647.62250    Adj R-Sq     0.8189
Coeff Var             9.34705
                                 Parameter Estimates

                     Parameter       Standard
Variable     DF       Estimate          Error    t Value    Pr > |t|
Intercept    1      882.47026        6.69004     131.91      <.0001
meals        1       -3.85935        0.10064     -38.35      <.0001
Icollcat2    1       10.29492       16.24717       0.63      0.5267
Icollcat3    1      -26.42920       14.31193      -1.85      0.0655
Icolmeal2    1        0.02815        0.22250       0.13      0.8994
Icolmeal3    1        0.79489        0.23242       3.42      0.0007

5.0  Simple Effects and Simple Comparisons of Groups, method I

The tests of the coefficients of the interactions reflect if the slopes of the groups are
significantly different across the whole dataset. However, sometimes it can be very
informative to test for significant difference between the groups at specific points in the
dataset. A common strategy is to test for differences at the mean, the mean - 1 standard
deviation, the mean + 1 standard deviation. So, we need to calculate the mean and
standard deviation of meals.
Here we insert the graph maybe with circles and/or moving parts!

proc means data=elemapi2 mean std;
  var meals;
run;
proc reg data=elemapi2 noprint;
  model api00 = meals Icollcat2 Icollcat3 Icolmeal2
                Icolmeal3;
  output out=temp p=predict;
run;
quit;
goptions reset=all;
symbol1 v=square i=join c=blue h=.6;
symbol2 v=dot i=join c=red h=.6;
symbol3 v=plus i=join c=green h=.6;
axis1 label=(a=90 'Predicted');
axis2 label=(' ');

proc gplot data=temp;
  plot predict*meals=collcat/overlay  vaxis=axis1
                        haxis=axis2 href=28.403299 60.3150000 92.226701;
run;
quit;
The MEANS Procedure

Analysis Variable : meals pct free meals

        Mean         Std Dev
----------------------------
  60.3150000      31.9117011
----------------------------

5.1  Simple effects and comparisons when meals = means - 1std.

First, we generate a variable for meals that is shifted to be centered at one standard
deviation below the mean using proc sql. We also create new interaction variables
using the new variable for meals.

proc sql;
  create table low as
  select *, meals - ( mean(meals) - std(meals) ) as meals_low
  from elemapi2;
quit;
data low;
  set low;
  Icolmeals2_low = Icollcat2*meals_low;
  Icolmeals3_low = Icollcat3*meals_low;
run;

Now that we have the new variable for meals we can perform the same regression as previously and the
only difference is that instead of meals we will use meals_low. By using the variable for meals centered
at one standard deviation below the mean we can now test for group differences at this specific point.
If you refer to the graph above we are testing for group differences at the first vertical line. Since the
three lines are very close together we anticipate that we probably won't find any significant differences.

proc reg data=low;
  model api00 = meals_low Icollcat2 Icollcat3 Icolmeals2_low Icolmeals3_low;
  test: test Icollcat2=Icollcat3=0;
run;
quit;
The REG Procedure
Model: MODEL1
Dependent Variable: api00 api 2000

                             Analysis of Variance

                                    Sum of           Mean
Source                   DF        Squares         Square    F Value    Pr > F
Model                     5        6629930        1325986     361.86    <.0001
Error                   394        1443742     3664.32012
Corrected Total         399        8073672

Root MSE             60.53363    R-Square     0.8212
Dependent Mean      647.62250    Adj R-Sq     0.8189
Coeff Var             9.34705
                                 Parameter Estimates

                          Parameter       Standard
Variable          DF       Estimate          Error    t Value    Pr > |t|
Intercept         1      772.85190        4.36931     176.88      <.0001
meals_low         1       -3.85935        0.10064     -38.35      <.0001
Icollcat2         1       11.09449       11.05054       1.00      0.3160
Icollcat3         1       -3.85167        8.95725      -0.43      0.6674
Icolmeals2_low    1        0.02815        0.22250       0.13      0.8994
Icolmeals3_low    1        0.79489        0.23242       3.42      0.0007

     Test test Results for Dependent Variable api00

                                Mean
Source             DF         Square    F Value    Pr > F
Numerator           2     2346.37142       0.64    0.5277
Denominator       394     3664.32012

By looking at the coefficient for Icollcat2 in the regression output we can see if the simple comparison of the group collcat=1 and the group collcat=2 is significant. The t-test has a p-value of 0.316 and this comparison is therefore not statistically significant at the 0.05 level. We can see if the simple comparison of groups 3 vs group 12 is significant by looking at the coefficient for Icollcat3. We can also calculate these numbers by recalling that Icollcat2 is the difference in the y-intercept between groups 1 and 2. Let's calculate the predicted values (y-intercepts) for group 1 and for group 2 using proc glm and then we can subtract them to get exactly the coefficient for Icollcat2. We will also obtain the test of the simple comparison between group 3 and groups 1,2, as well as the predicted values for groups 12 and 3 at meals=28.4 (one standard deviation below the mean).

Note: We are using the regression coding and the proc glm is missing a class statement which means that proc glm is basically functioning as a proc reg--but it is a new an improved proc reg because now it has an estimate statement!!!!

proc glm data=low;
  model api00 = meals_low Icollcat2 Icollcat3 Icolmeals2_low Icolmeals3_low;
  estimate 'simple comparisons group 1 v 2, m=28.4' Icollcat2 1;
  estimate 'predicted value group 1, m=28.4' intercept 1 Icollcat2 -.5
            Icollcat3 -.3333333;
  estimate 'predicted value group 2, m=28.4' intercept 1 Icollcat2 .5
            Icollcat3 -.3333333;
  estimate 'simple comparisons group 3 vs 12, m=28.4' Icollcat3 1;
  estimate 'predicted value group 1,1, m=28.4' intercept 1 Icollcat2 0
            Icollcat3 -.3333333;
  estimate 'predicted value group 2, m=28.4' intercept 1 Icollcat2 0
            Icollcat3 .6666667;
run;
quit;
The GLM Procedure
Number of observations    400
The GLM Procedure

Dependent Variable: api00   api 2000

                                        Sum of
Source                      DF         Squares     Mean Square    F Value    Pr > F
Model                        5     6629929.872     1325985.974     361.86    <.0001
Error                      394     1443742.126        3664.320
Corrected Total            399     8073671.998
R-Square     Coeff Var      Root MSE    api00 Mean
0.821179      9.347054      60.53363      647.6225
Source                      DF       Type I SS     Mean Square    F Value    Pr > F
meals_low                    1     6549825.145     6549825.145    1787.46    <.0001
Icollcat2                    1       11385.768       11385.768       3.11    0.0787
Icollcat3                    1       25740.884       25740.884       7.02    0.0084
Icolmeals2_low               1         115.990         115.990       0.03    0.8589
Icolmeals3_low               1       42862.086       42862.086      11.70    0.0007
Source                      DF     Type III SS     Mean Square    F Value    Pr > F
meals_low                    1     5389132.969     5389132.969    1470.70    <.0001
Icollcat2                    1        3693.531        3693.531       1.01    0.3160
Icollcat3                    1         677.552         677.552       0.18    0.6674
Icolmeals2_low               1          58.655          58.655       0.02    0.8994
Icolmeals3_low               1       42862.086       42862.086      11.70    0.0007
                                                      Standard
Parameter                            Estimate           Error    t Value    Pr > |t|
comparisons group 1 v 2, m=28.4      11.094494      11.0505357       1.00      0.3160
pred value group 1, m=28.4          768.588540       8.3629162      91.90      <.0001
pred value group 2, m=28.4          779.683035       7.2232933     107.94      <.0001
comparisons group 3 vs 12, m=28.4    -3.851671       8.9572501      -0.43      0.6674
pred value group 1,1, m=28.4        774.135788       5.5252676     140.11      <.0001
pred value group 2, m=28.4          770.284116       7.0500883     109.26      <.0001
                                       Standard
Parameter              Estimate           Error    t Value    Pr > |t|
Intercept           772.8518972      4.36931324     176.88      <.0001
meals_low            -3.8593532      0.10063563     -38.35      <.0001
Icollcat2            11.0944942     11.05053567       1.00      0.3160
Icollcat3            -3.8516714      8.95725011      -0.43      0.6674
Icolmeals2_low        0.0281506      0.22250143       0.13      0.8994
Icolmeals3_low        0.7948911      0.23241688       3.42      0.0007
Obtaining the exact same results using the GLM coding (and a class statement so that proc glm functions as proc glm and not as a proc reg).

proc glm data=elemapi2;
  class collcat;
  model api00 =  meals collcat collcat*meals ;
  estimate 'slope of 2 v 1 at m=28.4' collcat -1 1 0 collcat*meals -28.4 28.4 0;
  estimate 'pred values, group 1, m=28.4'  intercept 1 meals 28.4 collcat 1 0 0 collcat*meals 28.4 0 0;
  estimate 'pred values, group 2, m=28.4'  intercept 1 meals 28.4 collcat 0 1 0 collcat*meals 0 28.4 0;
  estimate 'pred values, group 12, m=28.4'  intercept 1 meals 28.4 collcat .5 .5 0 collcat*meals 14.2 14.2 0;
  estimate 'pred values, group 3, m=28.4'  intercept 1 meals 28.4 collcat 0 0 1 collcat*meals 0 0 28.4;
  estimate 'slope of 3 v 12 at m=28.4' collcat -.5 -.5 1 collcat*meals -14.2 -14.2 28.4;
run;
quit;
The GLM Procedure

   Class Level Information

Class         Levels    Values
collcat            3    1 2 3

Number of observations    400
The GLM Procedure
Dependent Variable: api00   api 2000
                                        Sum of
Source                      DF         Squares     Mean Square    F Value    Pr > F
Model                        5     6629929.872     1325985.974     361.86    <.0001
Error                      394     1443742.126        3664.320
Corrected Total            399     8073671.998
R-Square     Coeff Var      Root MSE    api00 Mean
0.821179      9.347054      60.53363      647.6225
Source                      DF       Type I SS     Mean Square    F Value    Pr > F
meals                        1     6549825.145     6549825.145    1787.46    <.0001
collcat                      2       37126.652       18563.326       5.07    0.0067
meals*collcat                2       42978.076       21489.038       5.86    0.0031
Source                      DF     Type III SS     Mean Square    F Value    Pr > F
meals                        1     5389132.969     5389132.969    1470.70    <.0001
collcat                      2       14535.351        7267.676       1.98    0.1390
meals*collcat                2       42978.076       21489.038       5.86    0.0031
                                                     Standard
Parameter                            Estimate           Error    t Value    Pr > |t|
slope of 2 v 1 at m=28.4            11.094401      11.0510713       1.00      0.3160
pred values, group 1, m=28.4       768.602193       8.3633100      91.90      <.0001
pred values, group 2, m=28.4       779.696594       7.2236571     107.94      <.0001
pred values, group 12, m=28.4      774.149393       5.5255356     140.10      <.0001
pred values, group 3, m=28.4       770.295100       7.0505458     109.25      <.0001
slope of 3 v 12 at m=28.4           -3.854294       8.9577754      -0.43      0.6672

5.2  Simple Effects and Comparisons for meals=mean.

First, we generate a variable for meals that is shifted to be centered at the mean using proc sql. We also create new interaction variables
using the new variable for meals.

proc sql;
  create table mean as
  select *, meals - mean(meals) as meals_mean
  from elemapi2;
quit;
data mean;
  set mean;
  Icolmeals2_mean = Icollcat2*meals_mean;
  Icolmeals3_mean = Icollcat3*meals_mean;
run;

Performing the regression using meals_mean and testing for the simple effects of collcat at meals=mean. Conclusion: The three groups of collcat are significantly different at meals=mean. The individual t-tests for Icollcat2 and Icollcat3, however, indicate that only the comparisons between group 3 and groups 1,2 is significant (p<.000).

proc reg data=mean;
  model api00=meals_mean Icollcat2 Icollcat3 Icolmeals2_mean Icolmeals3_mean;
  test: test Icollcat2=Icollcat3=0;
run;
quit;
The REG Procedure
Model: MODEL1
Dependent Variable: api00 api 2000

                             Analysis of Variance

                                    Sum of           Mean
Source                   DF        Squares         Square    F Value    Pr > F
Model                     5        6629930        1325986     361.86    <.0001
Error                   394        1443742     3664.32012
Corrected Total         399        8073672

Root MSE             60.53363    R-Square     0.8212
Dependent Mean      647.62250    Adj R-Sq     0.8189
Coeff Var             9.34705
                                  Parameter Estimates

                           Parameter       Standard
Variable           DF       Estimate          Error    t Value    Pr > |t|
Intercept          1      649.69337        3.12218     208.09      <.0001
meals_mean         1       -3.85935        0.10064     -38.35      <.0001
Icollcat2          1       11.99283        7.61738       1.57      0.1162
Icollcat3          1       21.51465        6.64932       3.24      0.0013
Icolmeals2_mean    1        0.02815        0.22250       0.13      0.8994
Icolmeals3_mean    1        0.79489        0.23242       3.42      0.0007
     Test test Results for Dependent Variable api00

                                Mean
Source             DF         Square    F Value    Pr > F
Numerator           2          23138       6.31    0.0020
Denominator       394     3664.32012

Looking at the simple comparisons, first of group 1 vs 2 and then for group 3 vs 1,2 using proc glm.

Note: We are using the regression coding and the proc glm is missing a class statement which means that proc glm is basically functioning as a proc reg--but it is a new an improved proc reg because now it has an estimate statement!!!!

proc glm data=mean;
  model api00 =meals_mean Icollcat2 Icollcat3 Icolmeals2_mean Icolmeals3_mean;
  estimate 'simple comparisons group 1 v 2, m=60.3' Icollcat2 1;
  estimate 'simple comparisons group 3 vs 12, m=60.3' Icollcat3 1;
run;
quit;
The GLM Procedure
Number of observations    400
The GLM Procedure

Dependent Variable: api00   api 2000
                                        Sum of
Source                      DF         Squares     Mean Square    F Value    Pr > F
Model                        5     6629929.872     1325985.974     361.86    <.0001
Error                      394     1443742.126        3664.320
Corrected Total            399     8073671.998
R-Square     Coeff Var      Root MSE    api00 Mean
0.821179      9.347054      60.53363      647.6225
Source                      DF       Type I SS     Mean Square    F Value    Pr > F
meals_mean                   1     6549825.145     6549825.145    1787.46    <.0001
Icollcat2                    1       11385.768       11385.768       3.11    0.0787
Icollcat3                    1       25740.884       25740.884       7.02    0.0084
Icolmeals2_mean              1         115.990         115.990       0.03    0.8589
Icolmeals3_mean              1       42862.086       42862.086      11.70    0.0007
Source                      DF     Type III SS     Mean Square    F Value    Pr > F
meals_mean                   1     5389132.969     5389132.969    1470.70    <.0001
Icollcat2                    1        9082.915        9082.915       2.48    0.1162
Icollcat3                    1       38362.580       38362.580      10.47    0.0013
Icolmeals2_mean              1          58.655          58.655       0.02    0.8994
Icolmeals3_mean              1       42862.086       42862.086      11.70    0.0007
                                                         Standard
Parameter                                Estimate           Error    t Value    Pr > |t|

comparisons group 1 v 2, m=60.3        11.9928275      7.61738092       1.57      0.1162
comparisons group 3 vs 12, m=60.3      21.5146549      6.64931923       3.24      0.0013
                                        Standard
Parameter               Estimate           Error    t Value    Pr > |t|
Intercept            649.6933723      3.12217544     208.09      <.0001
meals_mean            -3.8593532      0.10063563     -38.35      <.0001
Icollcat2             11.9928275      7.61738092       1.57      0.1162
Icollcat3             21.5146549      6.64931923       3.24      0.0013
Icolmeals2_mean        0.0281506      0.22250143       0.13      0.8994
Icolmeals3_mean        0.7948911      0.23241688       3.42      0.0007
Obtaining the exact same results using the GLM coding (and a class statement so that proc glm functions as proc glm and not as a proc reg).
proc glm data=elemapi2;
  class collcat;
  model api00 =  meals collcat collcat*meals ;
  estimate 'slope of 2 v 1 at m=60.3' collcat -1 1 0 collcat*meals -60.3 60.3 0;
  estimate 'slope of 3 v 12 at m=60.3' collcat -.5 -.5 1 collcat*meals -30.15 -30.15 60.3;
run;
quit;
The GLM Procedure

   Class Level Information

Class         Levels    Values
collcat            3    1 2 3


Number of observations    400
The GLM Procedure
Dependent Variable: api00   api 2000
                                        Sum of
Source                      DF         Squares     Mean Square    F Value    Pr > F
Model                        5     6629929.872     1325985.974     361.86    <.0001
Error                      394     1443742.126        3664.320
Corrected Total            399     8073671.998
R-Square     Coeff Var      Root MSE    api00 Mean
0.821179      9.347054      60.53363      647.6225
Source                      DF       Type I SS     Mean Square    F Value    Pr > F
meals                        1     6549825.145     6549825.145    1787.46    <.0001
collcat                      2       37126.652       18563.326       5.07    0.0067
meals*collcat                2       42978.076       21489.038       5.86    0.0031
Source                      DF     Type III SS     Mean Square    F Value    Pr > F
meals                        1     5389132.969     5389132.969    1470.70    <.0001
collcat                      2       14535.351        7267.676       1.98    0.1390
meals*collcat                2       42978.076       21489.038       5.86    0.0031
                                                 Standard
Parameter                        Estimate           Error    t Value    Pr > |t|

slope of 2 v 1 at m=60.3       11.992405        7.6178035       1.57      0.1162
slope of 3 v 12 at m=60.3      21.502731        6.6486489       3.23      0.0013

5.3  Simple Effects and Comparisons when Meals=mean+1 std

First, we generate a variable for meals that is shifted to be centered at one standard deviation above the mean using proc sql. We also create new interaction variables using the new variable for meals.

proc sql;
  create table high as
  select *, meals - ( mean(meals) + std(meals) ) as meals_high
  from elemapi2;
quit;
data high;
  set high;
  Icolmeals2_high = Icollcat2*meals_high;
  Icolmeals3_high = Icollcat3*meals_high;
run;

Performing the regression using meals_mean and testing for the simple effects of collcat at meals=mean. Conclusion: The three groups of collcat are significantly different at meals=mean. The individual t-tests for Icollcat2 and Icollcat3 however indicate that only the comparison between group 3 and groups 1,2 is significant (p<.000).

proc reg data=high;
  model api00 =meals_high Icollcat2 Icollcat3 Icolmeals2_high Icolmeals3_high;
  test: test Icollcat2=Icollcat3=0;
run;
quit;
The REG Procedure
Model: MODEL1
Dependent Variable: api00 api 2000

                             Analysis of Variance

                                    Sum of           Mean
Source                   DF        Squares         Square    F Value    Pr > F
Model                     5        6629930        1325986     361.86    <.0001
Error                   394        1443742     3664.32012
Corrected Total         399        8073672

Root MSE             60.53363    R-Square     0.8212
Dependent Mean      647.62250    Adj R-Sq     0.8189
Coeff Var             9.34705
                                  Parameter Estimates

                                        Parameter       Standard
Variable           DF       Estimate          Error    t Value    Pr > |t|
Intercept          1      526.53485        4.58606     114.81      <.0001
meals_high         1       -3.85935        0.10064     -38.35      <.0001
Icollcat2          1       12.89116        9.73478       1.32      0.1862
Icollcat3          1       46.88098       10.87258       4.31      <.0001
Icolmeals2_high    1        0.02815        0.22250       0.13      0.8994
Icolmeals3_high    1        0.79489        0.23242       3.42      0.0007
     Test test Results for Dependent Variable api00
                                Mean
Source             DF         Square    F Value    Pr > F
Numerator           2          38869      10.61    <.0001
Denominator       394     3664.32012

Looking at the simple comparisons, first of group 1 vs 2 and then for group 3 vs 1,2 using proc glm.

Note: We are using the regression coding and the proc glm is missing a class statement which means that proc glm is basically functioning as a proc reg--but it is a new an improved proc reg because now it has an estimate statement!!!!

proc glm data=high;
  model api00 =meals_high Icollcat2 Icollcat3 Icolmeals2_high Icolmeals3_high;
  estimate 'simple comparisons group 1 v 2, m=92.2' Icollcat2 1;
  estimate 'simple comparisons group 3 vs 12, m=92.2' Icollcat3 1;
run;
quit;
The GLM Procedure
Number of observations    400
The GLM Procedure
Dependent Variable: api00   api 2000

                                        Sum of
Source                      DF         Squares     Mean Square    F Value    Pr > F
Model                        5     6629929.872     1325985.974     361.86    <.0001
Error                      394     1443742.126        3664.320
Corrected Total            399     8073671.998
R-Square     Coeff Var      Root MSE    api00 Mean
0.821179      9.347054      60.53363      647.6225
Source                      DF       Type I SS     Mean Square    F Value    Pr > F
meals_high                   1     6549825.145     6549825.145    1787.46    <.0001
Icollcat2                    1       11385.768       11385.768       3.11    0.0787
Icollcat3                    1       25740.884       25740.884       7.02    0.0084
Icolmeals2_high              1         115.990         115.990       0.03    0.8589
Icolmeals3_high              1       42862.086       42862.086      11.70    0.0007
Source                      DF     Type III SS     Mean Square    F Value    Pr > F
meals_high                   1     5389132.969     5389132.969    1470.70    <.0001
Icollcat2                    1        6425.767        6425.767       1.75    0.1862
Icollcat3                    1       68127.391       68127.391      18.59    <.0001
Icolmeals2_high              1          58.655          58.655       0.02    0.8994
Icolmeals3_high              1       42862.086       42862.086      11.70    0.0007
                                                         Standard
Parameter                                Estimate           Error    t Value    Pr > |t|
comparisons group 1 v 2, m=92.2        12.8911608       9.7347822       1.32      0.1862
comparisons group 3 vs 12, m=92.2      46.8809811      10.8725776       4.31      <.0001
                                        Standard
Parameter               Estimate           Error    t Value    Pr > |t|
Intercept            526.5348475      4.58605897     114.81      <.0001
meals_high            -3.8593532      0.10063563     -38.35      <.0001
Icollcat2             12.8911608      9.73478216       1.32      0.1862
Icollcat3             46.8809811     10.87257762       4.31      <.0001
Icolmeals2_high        0.0281506      0.22250143       0.13      0.8994
Icolmeals3_high        0.7948911      0.23241688       3.42      0.0007
Obtaining the exact same results using the GLM coding (and a class statement so that proc glm functions as proc glm and not as a proc reg).
proc glm data=elemapi2;
  class collcat;
  model api00 =  meals collcat collcat*meals ;
  estimate 'slope of 2 v 1 at m=92.2' collcat -1 1 0 collcat*meals -92.2 92.2 0;
  estimate 'slope of 3 v 12 at m=92.2' collcat -.5 -.5 1 collcat*meals -46.1 -46.1 92.2;
run;
quit;
The GLM Procedure

   Class Level Information

Class         Levels    Values
collcat            3    1 2 3


Number of observations    400
The GLM Procedure
Dependent Variable: api00   api 2000
                                        Sum of
Source                      DF         Squares     Mean Square    F Value    Pr > F
Model                        5     6629929.872     1325985.974     361.86    <.0001
Error                      394     1443742.126        3664.320
Corrected Total            399     8073671.998
R-Square     Coeff Var      Root MSE    api00 Mean
0.821179      9.347054      60.53363      647.6225
Source                      DF       Type I SS     Mean Square    F Value    Pr > F
meals                        1     6549825.145     6549825.145    1787.46    <.0001
collcat                      2       37126.652       18563.326       5.07    0.0067
meals*collcat                2       42978.076       21489.038       5.86    0.0031
Source                      DF     Type III SS     Mean Square    F Value    Pr > F
meals                        1     5389132.969     5389132.969    1470.70    <.0001
collcat                      2       14535.351        7267.676       1.98    0.1390
meals*collcat                2       42978.076       21489.038       5.86    0.0031
                                                 Standard
Parameter                        Estimate           Error    t Value    Pr > |t|
slope of 2 v 1 at m=92.2       12.8904091       9.7310376       1.32      0.1860
slope of 3 v 12 at m=92.2      46.8597567      10.8676142       4.31      <.0001

6.0  Simple effects, simple group and interaction comparisons, strategy 2

How to get all the all these comparisons from both proc reg and proc glm. proc reg only has a test statement. That means it will not give the estimate for the effect we are interested, only the significance test. For that reason, we have to switch to proc glm using its estimate statement.

Note1: .5*28.403 = 14.2015 and (1/3)*28.403=9.4676667, and (2/3)*28.403=18.935333.
Note2: For the interactions it is much more confusing because you have to pre-calculate all the correct coefficients. For example, the first interaction you can use (1*Icollcat2+ 60.315*Icolmeal2) - (1*Icollcat + 28.403*Icolmeal2) whereas in proc glm you have to reduce that to 31.912*Icolmeal2 in order to use it in an estimate statement. If you repeat the variables SAS will only recognize it the first time you use a variable and ignore it the other times.

Note: We are using the regression coding and the proc glm is missing a class statement which means that proc glm is basically functioning as a proc reg--but it is a new an improved proc reg because now it has an estimate statement!!!!

proc reg data=elemapi2;
  model api00 = meals Icollcat2 Icollcat3 Icolmeal2 Icolmeal3;
  low: test Icollcat2+28.403*Icolmeal2=0, Icollcat3+28.403*Icolmeal3=0;
  mean: test Icollcat2+60.315*Icolmeal2=0, Icollcat3+60.315*Icolmeal3=0;
  high: test Icollcat2+92.23*Icolmeal2=0, Icollcat3+92.23*Icolmeal3=0;
run;
quit;
proc glm data=elemapi2;
  model api00 = meals Icollcat2 Icollcat3 Icolmeal2 Icolmeal3;
  estimate 'Group 1 v 2, meals=28.403' Icollcat2 1 Icolmeal2 28.403;
  estimate 'Predicted values, Group 1, m=28.403' intercept 1 Icollcat2 -.5
            Icollcat3 -.3333333 meals 28.403 Icolmeal2 -14.2015
            Icolmeal3 -9.4676667;
  estimate 'Predicted values, Group 2, m=28.403' intercept 1 Icollcat2 .5
            Icollcat3 -.3333333 meals 28.403 Icolmeal2 14.2015
            Icolmeal3 -9.4676667;
  estimate 'Group 3 v 12, meals=28.403' Icollcat3 1 Icolmeal3 28.403;
  estimate 'Predicted values, Group 12, m=28.403' intercept 1 Icollcat2 0
            Icollcat3 -.3333333 meals 28.403 Icolmeal2 0
            Icolmeal3 -9.4676667;
  estimate 'Predicted values, Group 1, m=28.403' intercept 1 Icollcat2 0
            Icollcat3 .6666666667 meals 28.403 Icolmeal2 0
            Icolmeal3 18.935333;
  estimate 'Group 1 v 2, meals=60.315' Icollcat2 1 Icolmeal2 60.315;
  estimate 'Group 3 v 12, meals=60.315' Icollcat3 1 Icolmeal3 60.315;
  estimate 'Group 1 v 2, meals=92.23' Icollcat2 1 Icolmeal2 92.23;
  estimate 'Group 3 v 12, meals=92.23' Icollcat3 1 Icolmeal3 92.23;
  estimate 'Interaction: group 1 v 2, m=mean v m=mean+1std' Icolmeal2 31.912;
  estimate 'Interaction: group 3 v 12, m=mean v m=mean+1std' Icolmeal3 31.912;
run;
quit;
The REG Procedure
Model: MODEL1
Dependent Variable: api00 api 2000

                             Analysis of Variance

                                    Sum of           Mean
Source                   DF        Squares         Square    F Value    Pr > F
Model                     5        6629930        1325986     361.86    <.0001
Error                   394        1443742     3664.32012
Corrected Total         399        8073672

Root MSE             60.53363    R-Square     0.8212
Dependent Mean      647.62250    Adj R-Sq     0.8189
Coeff Var             9.34705
                                 Parameter Estimates

                                       Parameter       Standard
Variable     DF       Estimate          Error    t Value    Pr > |t|
Intercept    1      882.47026        6.69004     131.91      <.0001
meals        1       -3.85935        0.10064     -38.35      <.0001
Icollcat2    1       10.29492       16.24717       0.63      0.5267
Icollcat3    1      -26.42920       14.31193      -1.85      0.0655
Icolmeal2    1        0.02815        0.22250       0.13      0.8994
Icolmeal3    1        0.79489        0.23242       3.42      0.0007

      Test low Results for Dependent Variable api00

                                Mean
Source             DF         Square    F Value    Pr > F
Numerator           2     2346.39755       0.64    0.5277
Denominator       394     3664.32012
     Test mean Results for Dependent Variable api00

                                Mean
Source             DF         Square    F Value    Pr > F
Numerator           2          23138       6.31    0.0020
Denominator       394     3664.32012
     Test high Results for Dependent Variable api00

                                Mean
Source             DF         Square    F Value    Pr > F
Numerator           2          38869      10.61    <.0001
Denominator       394     3664.32012
The GLM Procedure
Number of observations    400
The GLM Procedure

Dependent Variable: api00   api 2000

                                        Sum of
Source                      DF         Squares     Mean Square    F Value    Pr > F
Model                        5     6629929.872     1325985.974     361.86    <.0001
Error                      394     1443742.126        3664.320
Corrected Total            399     8073671.998
R-Square     Coeff Var      Root MSE    api00 Mean
0.821179      9.347054      60.53363      647.6225
Source                      DF       Type I SS     Mean Square    F Value    Pr > F
meals                        1     6549825.145     6549825.145    1787.46    <.0001
Icollcat2                    1       11385.768       11385.768       3.11    0.0787
Icollcat3                    1       25740.884       25740.884       7.02    0.0084
Icolmeal2                    1         115.990         115.990       0.03    0.8589
Icolmeal3                    1       42862.086       42862.086      11.70    0.0007
Source                      DF     Type III SS     Mean Square    F Value    Pr > F
meals                        1     5389132.969     5389132.969    1470.70    <.0001
Icollcat2                    1        1471.242        1471.242       0.40    0.5267
Icollcat3                    1       12495.833       12495.833       3.41    0.0655
Icolmeal2                    1          58.655          58.655       0.02    0.8994
Icolmeal3                    1       42862.086       42862.086      11.70    0.0007
                                                      Standard
Parameter                               Estimate         Error  t Value  Pr > |t|
Group 1 v 2, meals=28.403              11.094486    11.0505842     1.00    0.3160
Pred values, Group 1, m=28.403        768.589777     8.3629518    91.90    <.0001
Pred values, Group 2, m=28.403        779.684262     7.2233262   107.94    <.0001
Group 3 v 12, meals=28.403             -3.851909     8.9572977    -0.43    0.6674
Pred values, Group 12, m=28.403       774.137020     5.5252918   140.11    <.0001
Pred values, Group 1, m=28.403        770.285111     7.0501298   109.26    <.0001
Group 1 v 2, meals=60.315              11.992828     7.6173809     1.57    0.1162
Group 3 v 12, meals=60.315             21.514655     6.6493192     3.24    0.0013
Group 1 v 2, meals=92.23               12.891254     9.7352449     1.32    0.1862
Group 3 v 12, meals=92.23              46.883603    10.8731909     4.31    <.0001
Group 1 v 2, m=mean v m=mean+1std       0.898342     7.1004657     0.13    0.8994
Group 3 v 12, m=mean v m=mean+1std     25.366564     7.4168876     3.42    0.0007

                                  Standard
Parameter         Estimate           Error    t Value    Pr > |t|
Intercept      882.4702589      6.69003553     131.91      <.0001
meals           -3.8593532      0.10063563     -38.35      <.0001
Icollcat2       10.2949246     16.24717093       0.63      0.5267
Icollcat3      -26.4292002     14.31192705      -1.85      0.0655
Icolmeal2        0.0281506      0.22250143       0.13      0.8994
Icolmeal3        0.7948911      0.23241688       3.42      0.0007
Obtaining the exact same results using the GLM coding (and a class statement so that proc glm functions as proc glm and not as a proc reg).
proc glm data=elemapi2;
  class collcat;
  model api00 =  meals collcat collcat*meals ;
  estimate 'slope of 2 v 1 at m=28.4' collcat -1 1 0 collcat*meals -28.4 28.4 0;
  estimate 'pred values, group 1, m=28.4'  intercept 1 meals 28.4 collcat 1 0 0 collcat*meals 28.4 0 0;
  estimate 'pred values, group 2, m=28.4'  intercept 1 meals 28.4 collcat 0 1 0 collcat*meals 0 28.4 0;
  estimate 'slope of 3 v 12 at m=28.4' collcat -.5 -.5 1 collcat*meals -14.2 -14.2 28.4;
  estimate 'pred values, group 12, m=28.4'  intercept 1 meals 28.4 collcat .5 .5 0 collcat*meals 14.2 14.2 0;
  estimate 'pred values, group 3, m=28.4'  intercept 1 meals 28.4 collcat 0 0 1 collcat*meals 0 0 28.4;
  estimate 'slope of 2 v 1 at m=60.3' collcat -1 1 0 collcat*meals -60.3 60.3 0;
  estimate 'slope of 3 v 12 at m=60.3' collcat -.5 -.5 1 collcat*meals -30.15 -30.15 60.3;
  estimate 'slope of 2 v 1 at m=92.2' collcat -1 1 0 collcat*meals -92.2 92.2 0;
  estimate 'slope of 3 v 12 at m=92.2' collcat -.5 -.5 1 collcat*meals -46.1 -46.1 92.2;
  estimate 'slope of 2 v 1 at m=60.3 v m=28.4' collcat*meals -31.9 31.9 0;
  estimate 'slope of 3 v 12 at m=60.3 v m=28.4' collcat*meals -15.95 -15.95 31.9 ;
run;
quit;
The GLM Procedure

   Class Level Information

Class         Levels    Values
collcat            3    1 2 3


Number of observations    400
The GLM Procedure
Dependent Variable: api00   api 2000
                                        Sum of
Source                      DF         Squares     Mean Square    F Value    Pr > F
Model                        5     6629929.872     1325985.974     361.86    <.0001
Error                      394     1443742.126        3664.320
Corrected Total            399     8073671.998
R-Square     Coeff Var      Root MSE    api00 Mean
0.821179      9.347054      60.53363      647.6225
Source                      DF       Type I SS     Mean Square    F Value    Pr > F
meals                        1     6549825.145     6549825.145    1787.46    <.0001
collcat                      2       37126.652       18563.326       5.07    0.0067
meals*collcat                2       42978.076       21489.038       5.86    0.0031
Source                      DF     Type III SS     Mean Square    F Value    Pr > F
meals                        1     5389132.969     5389132.969    1470.70    <.0001
collcat                      2       14535.351        7267.676       1.98    0.1390
meals*collcat                2       42978.076       21489.038       5.86    0.0031
                                                          Standard
Parameter                                 Estimate           Error    t Value    Pr > |t|
slope of 2 v 1 at m=28.4                 11.094401      11.0510713       1.00      0.3160
pred values, group 1, m=28.4            768.602193       8.3633100      91.90      <.0001
pred values, group 2, m=28.4            779.696594       7.2236571     107.94      <.0001
slope of 3 v 12 at m=28.4                -3.854294       8.9577754      -0.43      0.6672
pred values, group 12, m=28.4           774.149393       5.5255356     140.10      <.0001
pred values, group 3, m=28.4            770.295100       7.0505458     109.25      <.0001
slope of 2 v 1 at m=60.3                 11.992405       7.6178035       1.57      0.1162
slope of 3 v 12 at m=60.3                21.502731       6.6486489       3.23      0.0013
slope of 2 v 1 at m=92.2                 12.890409       9.7310376       1.32      0.1860
slope of 3 v 12 at m=92.2                46.859757      10.8676142       4.31      <.0001
slope of 2 v 1 at m=60.3 v m=28.4         0.898004       7.0977957       0.13      0.8994
slope of 3 v 12 at m=60.3 v m=28.4       25.357025       7.4140986       3.42      0.0007

7.0  More on Predicted Values

To be expanded!


How to cite this page

Report an error on this page

UCLA Researchers are invited to our Statistical Consulting Services
We recommend others to our list of Other Resources for Statistical Computing Help
These pages are Copyrighted (c) by UCLA Academic Technology Services


The content of this web site should not be construed as an endorsement of any particular web site, book, or software product by the University of California