How can I do anova contrasts using the margins command in Stata?

How can I do anova contrasts using the margins command in Stata?

The margins command in Stata allows users to perform ANOVA contrasts, which are statistical tests used to compare the means of two or more groups. By specifying the margins command, users can specify the specific contrasts they wish to perform and obtain the corresponding estimated means and confidence intervals. This feature is useful for conducting post-hoc analyses after running an ANOVA model, as it allows for a more detailed examination of group differences. Additionally, the margins command in Stata allows for the adjustment of covariates and interaction effects, providing a more comprehensive analysis of the data. Overall, utilizing the margins command in Stata for ANOVA contrasts can enhance the understanding and interpretation of group differences in a dataset.

How can I do anova contrasts using the margins command? Stata FAQ

The margins command introduced in Stata 11 provides an easy way to compute contrasts
in analysis of variance designs. We will begin by loading the hsbanova
dataset and running a factorial anova with read as the response variable.

use https://stats.idre.ucla.edu/stat/data/hsbanova, clear

anova read grp##female

                           Number of obs =     200     R-squared     =  0.2104
                           Root MSE      = 9.27502     Adj R-squared =  0.1817

                  Source |  Partial SS    df       MS           F     Prob > F
              -----------+----------------------------------------------------
                   Model |     4402.42     7  628.917143       7.31     0.0000
                         |
                     grp |   3909.6042     3   1303.2014      15.15     0.0000
                  female |  117.305356     1  117.305356       1.36     0.2444
              grp#female |  427.282493     3  142.427498       1.66     0.1780
                         |
                Residual |       16517   192  86.0260417   
              -----------+----------------------------------------------------
                   Total |    20919.42   199  105.122714

Neither the grp by female interaction nor the female main effect were
significant. Prior to the experiment we
decided that four comparisons among the grp means would be theoretically interesting and that
we would test these if grp was statistically significant. It was and so we will test the
following contrasts:

 

 

 

    grp1, grp2 & grp3 versus grp4

It can also be useful to look at these contrasts in terms of the weights applied to each of the
means. The four contrasts above would look something like this:

grp1  grp2  grp3  grp4
  1    -1     0     0   contrast 1
  0     0     1    -1   contrast 2
  1     1    -1    -1   contrast 3
 1/3   1/3   1/3   -1   contrast 4

Note that for each of the above contrasts the sum of the weights is zero.

We can now begin our multiple comparisons by running the margins command with the
asbalanced and post options.

margins grp, asbalanced post

Adjusted predictions                              Number of obs   =        200

Expression   : Linear prediction, predict()
at           : grp              (asbalanced)
               female           (asbalanced)

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         grp |
          1  |   46.15942   1.315904    35.08   0.000      43.5803    48.73854
          2  |   49.95536   1.385722    36.05   0.000     47.23939    52.67132
          3  |   54.99107    1.20007    45.82   0.000     52.63898    57.34317
          4  |   57.86032   1.399677    41.34   0.000     55.11701    60.60364
------------------------------------------------------------------------------

The margins command displays the adjusted marginal means (aka lsmeans, aka estimated marginal
means) for each of the four levels of grp. We will now proceed to compute each of the one degree of
freedom contrasts two ways; first using the test command and then using lincom. The
test command produces a chi-square while the lincom command produces a z-test. Squaring
the z yields the same value as the chi-square.

/* contrast 1: grp1 vs grp2 */

test 1.grp - 2.grp = 0

 ( 1)  1bn.grp - 2.grp = 0

           chi2(  1) =    3.95
         Prob > chi2 =    0.0470

lincom 1.grp - 2.grp

 ( 1)  1bn.grp - 2.grp = 0

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         (1) |  -3.795937   1.910975    -1.99   0.047     -7.54138   -.0504938
------------------------------------------------------------------------------

/* contrast 2: grp3 vs grp4 */

test 3.grp - 4.grp = 0

 ( 1)  3.grp - 4.grp = 0

           chi2(  1) =    2.42
         Prob > chi2 =    0.1197

lincom 3.grp - 4.grp

 ( 1)  3.grp - 4.grp = 0

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         (1) |  -2.869252   1.843709    -1.56   0.120    -6.482856    .7443509
------------------------------------------------------------------------------

/* contrast 3: (grp1 & grp2) vs (grp3 & grp4) */

test 1.grp + 2.grp - 3.grp - 4.grp = 0

 ( 1)  1bn.grp + 2.grp - 3.grp - 4.grp = 0

           chi2(  1) =   39.73
         Prob > chi2 =    0.0000

lincom 1.grp + 2.grp - 3.grp - 4.grp

 ( 1)  1bn.grp + 2.grp - 3.grp - 4.grp = 0

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         (1) |  -16.73662   2.655389    -6.30   0.000    -21.94108   -11.53215
------------------------------------------------------------------------------

/* contrast 4: (grp1, grp2 &grp3) vs (grp4) */

test 1/3*1.grp + 1/3*2.grp + 1/3*3.grp - 4.grp = 0

 ( 1)  .3333333*1bn.grp + .3333333*2.grp + .3333333*3.grp - 4.grp = 0

           chi2(  1) =   22.23
         Prob > chi2 =    0.0000

lincom 1/3*1.grp + 1/3*2.grp + 1/3*3.grp - 4.grp

 ( 1)  .3333333*1bn.grp + .3333333*2.grp + .3333333*3.grp - 4.grp = 0

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         (1) |  -7.491708   1.588985    -4.71   0.000    -10.60606   -4.377355
------------------------------------------------------------------------------

We did the last comparison using the weights (1/3 1/3 1/3 -1). We could get the
same chi-square and z using the weights (1 1 1 -3). However, you will note that the coefficient
in the lincom will have a different numerical value.

test 1.grp + 2.grp + 3.grp - 3*4.grp = 0

 ( 1)  1bn.grp + 2.grp + 3.grp - 3*4.grp = 0

           chi2(  1) =   22.23
         Prob > chi2 =    0.0000

lincom 1.grp + 2.grp + 3.grp - 3*4.grp

 ( 1)  1bn.grp + 2.grp + 3.grp - 3*4.grp = 0

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         (1) |  -22.47512   4.766954    -4.71   0.000    -31.81818   -13.13206
------------------------------------------------------------------------------

At this point we should consider some kind of adjustment for having done four contrasts. The
easiest approach would be a Bonferroni adjustment made by dividing our alpha level by the number
of comparisons (.05/4 = .0125). Thus, any contrast less then .0125 would be significant, namely
contrasts 3 and 4.

Alternatively, we might want to consider using a Scheffé adjustment since two of the contrasts
(3 and 4) were non-pairwise contrasts. The critical value for Scheffé can be computed from
the following:

(p-1)*critical_value_F(p-1, dfe) = (4-1)*critical_value_F(4-1, 192)
= (4-1)*2.65 = 3*2.65 = 7.95

Although, the critical value for Scheffé is an F-ratio we can compare it to the chi-square
with one degree of freedom from the test commands. Once again only contrasts 3 and 4
were statistically significant.

 

 

Cite this article

stats writer (2024). How can I do anova contrasts using the margins command in Stata?. PSYCHOLOGICAL SCALES. Retrieved from https://scales.arabpsychology.com/stats/how-can-i-do-anova-contrasts-using-the-margins-command-in-stata/

stats writer. "How can I do anova contrasts using the margins command in Stata?." PSYCHOLOGICAL SCALES, 1 Jul. 2024, https://scales.arabpsychology.com/stats/how-can-i-do-anova-contrasts-using-the-margins-command-in-stata/.

stats writer. "How can I do anova contrasts using the margins command in Stata?." PSYCHOLOGICAL SCALES, 2024. https://scales.arabpsychology.com/stats/how-can-i-do-anova-contrasts-using-the-margins-command-in-stata/.

stats writer (2024) 'How can I do anova contrasts using the margins command in Stata?', PSYCHOLOGICAL SCALES. Available at: https://scales.arabpsychology.com/stats/how-can-i-do-anova-contrasts-using-the-margins-command-in-stata/.

[1] stats writer, "How can I do anova contrasts using the margins command in Stata?," PSYCHOLOGICAL SCALES, vol. X, no. Y, ص Z-Z, July, 2024.

stats writer. How can I do anova contrasts using the margins command in Stata?. PSYCHOLOGICAL SCALES. 2024;vol(issue):pages.

Download Post (.PDF)
Slide Up
x
PDF
Scroll to Top