**[MV] manova** -- Multivariate analysis of variance and covariance

__Syntax__

__mano__**va** *depvarlist* **=** *termlist* [*if*] [*in*] [*weight*] [**,** *options*]

where *termlist* is a factor-variable list with the following additional
features:

o Variables are assumed to be categorical; use the **c.** factor-variable
operator to override this.
o The **|** symbol (indicating nesting) may be used in place of the **#**
symbol (indicating interaction).
o The **/** symbol is allowed after a *term* and indicates that the
following *term* is the error term for the preceding *term*s.

*options* Description
-------------------------------------------------------------------------
Model
__nocons__**tant** suppress constant term
__dropemp__**tycells** drop empty cells from the design matrix
-------------------------------------------------------------------------
**bootstrap**, **by**, **jackknife**, and **statsby** are allowed; see prefix.
Weights are not allowed with the **bootstrap** prefix.
**aweight**s are not allowed with the **jackknife** prefix.
**aweight**s and **fweight**s are allowed; see weight.
See **[MV] manova postestimation** for features available after estimation.

__Menu__

**Statistics > Multivariate analysis >** **MANOVA, multivariate regression, and**
**related > MANOVA**

__Description__

The **manova** command fits multivariate analysis-of-variance (MANOVA) and
multivariate analysis-of-covariance (MANCOVA) models for balanced and
unbalanced designs, including designs with missing cells, and for
factorial, nested, or mixed designs, or designs involving repeated
measures.

The **mvreg** command will display the coefficients, standard errors, etc.,
of the multivariate regression model underlying the last run of **manova**.

See **[R] anova** for univariate ANOVA and ANCOVA models. See **[MV] mvtest**
**covariances** for Box's test of MANOVA's assumption that the covariance
matrices of the groups are the same, and see **[MV] mvtest means** for
multivariate tests of means that do not make this assumption.

__Options__

+-------+
----+ Model +------------------------------------------------------------

**noconstant** suppresses the constant term (intercept) from the model.

**dropemptycells** drops empty cells from the design matrix. If
**c(emptycells)** is set to **keep** (see **set emptycells**), this option
temporarily resets it to **drop** before running the MANOVA model. If
**c(emptycells)** is already set to **drop**, this option does nothing.

__Remarks__

The **#** symbol indicates interaction. The **|** symbol indicates nesting (**a|b**
is read "**a** is nested within **b**"). A **/** between *term*s indicates that the
*term* to the right of the slash is the error term for the *term*s to the
left of the slash.

__Examples__

---------------------------------------------------------------------------
Setup
**. webuse metabolic**

One-way MANOVA
**. manova y1 y2 = group**

View the underlying multivariate regression model
**. mvreg**

View the underlying multivariate regression model with 90% confidence
intervals and displaying the base categories
**. mvreg, level(90) base**

---------------------------------------------------------------------------
Setup
**. webuse jaw**

Two-way MANOVA
**. manova y1 y2 y3 = gender fracture gender#fracture**

The same model, but less typing
**. manova y* = gender##fracture**

---------------------------------------------------------------------------
Setup
**. webuse videotrainer**

Manova with nested data
**. manova primary extra = video / store|video /** **associate|store|video**
**/, dropemptycells**

---------------------------------------------------------------------------
Setup
**. webuse reading2**

Split-plot MANOVA
**. manova score comp = pr / cl|pr sk pr#sk / cl#sk|pr /** **gr|cl#sk|pr /,**
**dropemptycells**

---------------------------------------------------------------------------
Setup
**. webuse biochemical**

MANCOVA
**. manova y1 y2 y3 = group c.x1 c.x2**

---------------------------------------------------------------------------
Setup
**. webuse nobetween**
**. gen mycons = 1**

MANOVA with repeated measures data
**. manova test1 test2 test3 = mycons, noconstant**
**. mat c = (1,0,-1 \ 0,1,-1)**
**. manovatest mycons, ytransform(c)**
---------------------------------------------------------------------------

__Stored results__

**manova** stores the following in **e()**:

Scalars
**e(N)** number of observations
**e(k)** number of parameters
**e(k_eq)** number of equations in **e(b)**
**e(df_m)** model degrees of freedom
**e(df_r)** residual degrees of freedom
**e(df_***#***)** degrees of freedom for term *#*
**e(rank)** rank of **e(V)**

Macros
**e(cmd)** **manova**
**e(cmdline)** command as typed
**e(depvar)** names of dependent variables
**e(indepvars)** names of the right-hand-side variables
**e(term_***#***)** term *#*
**e(errorterm_***#***)** error term for term *#* (defined for terms using
nonresidual error)
**e(wtype)** weight type
**e(wexp)** weight expression
**e(r2)** R-squared for each equation
**e(rmse)** RMSE for each equation
**e(F)** F statistic for each equation
**e(p_F)** p-value for F test for each equation
**e(properties)** **b V**
**e(estat_cmd)** program used to implement **estat**
**e(predict)** program used to implement **predict**
**e(marginsnotok)** predictions disallowed by **margins**
**e(marginsdefault)** default **predict()** specification for **margins**
**e(asbalanced)** factor variables **fvset** as **asbalanced**
**e(asobserved)** factor variables **fvset** as **asobserved**

Matrices
**e(b)** coefficient vector (a stacked version of **e(B)**)
**e(B)** coefficient matrix
**e(E)** residual-error SSCP matrix
**e(xpxinv)** generalized inverse of X'X
**e(H_m)** hypothesis SSCP matrix for the overall model
**e(stat_m)** multivariate statistics for the overall model
**e(eigvals_m)** eigenvalues of **E^-1H** for the overall model
**e(aux_m)** **s**, **m**, and **n** values for the overall model
**e(H_***#***)** hypothesis SSCP matrix for term *#*
**e(stat_***#***)** multivariate statistics for term *#* (if computed)
**e(eigvals_***#***)** eigenvalues of **E^-1H** for term *#* (if computed)
**e(aux_***#***)** **s**, **m**, and **n** values for term *#* (if computed)
**e(V)** variance-covariance matrix of the estimators

Functions
**e(sample)** marks estimation sample