New command mvtest performs multivariate tests on means,
covariances, and correlations (both one-sample and multiple-sample), and
it performs tests of univariate, bivariate, and multivariate normality.
Included are Box’s M test for covariances, and for tests of
normality, the Doornik–Hansen omnibus test, Henze–Zirkler
test, Mardia’s multivariate kurtosis test, and Mardia’s
multivariate skewness test.
The new factor-variable syntax allowed
throughout Stata affects manova even though manova always
allowed factor variables.
manova has an all-new syntax. The old syntax continues
to work under version control.
manova, just like anova, adopts the new
factor-variable syntax, but with a twist. In other Stata commands,
continuous is assumed and you use i.varname to indicate
a categorical variable. In manova and anova,
categorical is assumed and you use c.varname to
indicate continuous. Thus the options category(),
class(), and continuous() are no longer used.
To form an interaction, you use varname1#varname2.
Previously, you used varname1*varname2. A *
now means variable-name expansion, just as it does on other
commands, so you could type manova y* = a b* a#b*. The
| symbol continues to be used for nesting.
You can now use varname1##varname2 as
a shorthand for full factorial, meaning
varname1 varname2 varname1#varname2. You can
use varname1##varname2##varname3 for
three-way factorial, and so on.
Existing command
mvreg
may now be used after manova to show results in regression-style
format, just as regress
can be used after anova.
Existing command test
after manova, in addition to allowing the special syntax
previously provided, now allows all the standard test syntax, too.
Existing commands
predictnl,
nlcom,
testnl, and
testparm may now be used after
manova.
New postestimation command margins
may be used after manova.
manova now requires that categorical variables take on
nonnegative integer values. Previously, a categorical variable could
take on values -1, 2.5, 3.14159, etc., although few did. Arbitrary
values are still allowed under version control.
manova’s new option dropemptycells removes
unobserved levels from the model rather than setting their coefficients
to zero. Statistically, the approaches are equivalent.
Computationally, a larger
matsize
is required when empty cells are retained. In models with many
interactions, you may need to specify this option.
Programmers: The row and column names on e(b), e(V), etc.,
after manova
are now meaningful and follow standard factor-variable notation.
Existing command biplot
has several improvements:
biplot can now be used with larger datasets. Previously, the
row dimension was limited by Stata’s maximum matsize.
biplot has new option generate(), which saves the
coordinates of observations in variables.
biplot has new options rowover() and
row#opts(), which allow highlighting groups of
observations on the graph and customizing the look of the graph.
New option rowlabel() makes customizing rows easier.
biplot now drops constant variables from the computation.
biplot now uses an improved version
of the singular value decomposition, which may result in sign
differences and slight differences in values.
rowopts(), colopts(), and negcolopts() now
allow names to contain simple and compound quotes.
biplot did not honor option scheme(economist) for
separate graphs (option separate). This has been fixed.
Existing command
canon’s
default output has changed. It previously displayed something that
looked like estimation output but was not because standard errors were
conditional. The output now looks like you would expect. The
conditional output can be obtained by specifying new option
stderr or under version control (set version to 10 or
earlier).