Stata Code Fragments Anova

use http://www.ats.ucla.edu/stat/data/crf24, clear

* descriptive statistics by group or cell:

table a b, contents(freq mean y sd y) row col

* alternative method

egen grp=group(a b), label
tabstat y, by(grp) stat(n mean sd var)

* graph interaction/plot means by cell:

anova y a b a#b
margins a#b
marginsplot, x(a)  // place a on the x-axis
marginsplot, x(b)  // place b on the x-axis

* Levene's test of heterogeneity of variance:

robvar y, by(grp)  // W0 is the Levene's test

* visual check of normality

* histograms
histogram y, by(grp) normal

* kernal density plots
forvalues i = 1/8 {
kdensity y if grp==i', normal  name(celli', replace)
}

* normal probability plot
forvalues i = 1/8 {
pnorm y if grp==i', name(pnormi', replace)
}

* oneway anova:

anova y b

* factorial anova:

anova y a b a#b
anova y a b / a#b /        //  using interaction as error term

* nested anova:

anova y a b|a            // using residual as error term for both a and b|a
anova y a / b|a /        // using b|a as error term for a and residual for b|a

* repeated measures anova:
* data are long

use http://www.ats.ucla.edu/stat/data/spf24, clear

* randomized block design
anova y b s, repeated(b)
mat lis e(Srep)                    // check variance-covariance matrix

* Tukeys test for additivity in randomized block designs:
anova y b s
predict yhat
generate ystar = (yhat - 5.375)^2      /*  5.375 is the grand mean */
anova y a s c.ystar  // if ystar is nonsignificant then model is additive

* split-plot factorial design
anova y a / s|a b a#b/, repeated(b)

* tests of simple main effects:

use http://www.ats.ucla.edu/stat/data/crf24, clear

anova y a b a#b
contrast a@b
contrast b@a

* pairwise comparisons:

pwcompare b,  mcompare(tukey) effects

* trend analysis
contrast p.b

* user defined contrasts:

contrast{b -3 1 1 1}  // 1 vs average of 2, 3, and 4

* analysis of covariance:

use http://www.ats.ucla.edu/stat/stata/examples/kirk/crac4, clear

anova y a c.x

graph slopes
sum x           // find min and max
margins a, at(x=(32 89))
marginsplot, x(x)

margins a

* pairwise comparisons of adjusted means
pwcompare a,  mcompare(tukey) effects

* check homogeneity of slopes
anova y a c.x a#c.x



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.