**Version info:** Code for this page was tested in SAS 9.3

MANOVA is used to model two or more dependent variables that are continuous with one or more categorical predictor variables.

**
Please note:** The purpose of this page is to show how to use various data
analysis commands. It does not cover all aspects of the research process which
researchers are expected to do. In particular, it does not cover data
cleaning and checking, verification of assumptions, model diagnostics or
potential follow-up analyses.

## Examples of one-way multivariate analysis of variance

Example 1. A researcher randomly assigns 33 subjects to one of three groups. The first group receives technical dietary information interactively from an on-line website. Group 2 receives the same information from a nurse practitioner, while group 3 receives the information from a video tape made by the same nurse practitioner. The researcher looks at three different ratings of the presentation, difficulty, usefulness and importance, to determine if there is a difference in the modes of presentation. In particular, the researcher is interested in whether the interactive website is superior because that is the most cost-effective way of delivering the information.

Example 2. A clinical psychologist recruits 100 people who suffer from panic disorder into his study. Each subject receives one of four types of treatment for eight weeks. At the end of treatment, each subject participates in a structured interview, during which the clinical psychologist makes three ratings: physiological, emotional and cognitive. The clinical psychologist wants to know which type of treatment most reduces the symptoms of the panic disorder as measured on the physiological, emotional and cognitive scales. (This example was adapted from Grimm and Yarnold, 1995, page 246.)

## Description of the data

Let’s pursue Example 1 from above.

We have a data file, manova,
with 33 observations on three response variables.
The response variables are ratings of **useful**, **difficulty** and **importance**.
Level 1 of the **group** variable is the treatment group, level 2 is control group 1 and
level 3 is control group 2.

Let’s look at the data. It is always a good idea to start with descriptive statistics.

proc means data = mylib.manova; var difficulty useful importance; run;The MEANS Procedure Variable N Mean Std Dev Minimum Maximum -------------------------------------------------------------------------------- DIFFICULTY 33 5.7151515 2.0175978 2.4000001 10.2500000 USEFUL 33 16.3303030 3.2924615 11.8999996 24.2999992 IMPORTANCE 33 6.4757576 3.9851309 0.2000000 18.7999992 --------------------------------------------------------------------------------proc freq data = mylib.manova; tables group; run;The FREQ Procedure Cumulative Cumulative GROUP Frequency Percent Frequency Percent ---------------------------------------------------------- 1 11 33.33 11 33.33 2 11 33.33 22 66.67 3 11 33.33 33 100.00proc means n mean std min max data = mylib.manova; class group; var useful difficulty importance; run;The MEANS Procedure N GROUP Obs Variable N Mean Std Dev Minimum Maximum ------------------------------------------------------------------------------------------------ 1 11 USEFUL 11 18.1181817 3.9037974 13.0000000 24.2999992 DIFFICULTY 11 6.1909091 1.8997129 3.7500000 10.2500000 IMPORTANCE 11 8.6818181 4.8630890 3.3000000 18.7999992 2 11 USEFUL 11 15.5272729 2.0756162 12.8000002 19.7000008 DIFFICULTY 11 5.5818183 2.4342631 2.4000001 9.8500004 IMPORTANCE 11 5.1090909 2.5311873 0.2000000 8.5000000 3 11 USEFUL 11 15.3454545 3.1382682 11.8999996 19.7999992 DIFFICULTY 11 5.3727273 1.7590287 2.6500001 8.7500000 IMPORTANCE 11 5.6363637 3.5469065 0.7000000 10.3000002 ------------------------------------------------------------------------------------------------proc corr data = mylib.manova nosimple; var useful difficulty importance; run;The CORR Procedure 3 Variables: USEFUL DIFFICULTY IMPORTANCE Pearson Correlation Coefficients, N = 33 Prob > |r| under H0: Rho=0 USEFUL DIFFICULTY IMPORTANCE USEFUL 1.00000 0.09783 -0.34112 0.5881 0.0520 DIFFICULTY 0.09783 1.00000 0.19782 0.5881 0.2698 IMPORTANCE -0.34112 0.19782 1.00000 0.0520 0.2698

## Analysis methods you might consider

Below is a list of some analysis methods you may have encountered. Some of the methods listed are quite reasonable, while others have either fallen out of favor or have limitations.

- MANOVA – This is a good option if there are two or more continuous dependent variables and one categorical predictor variable.
- Discriminant function analysis – This is a reasonable option and is equivalent to a one-way MANOVA.
- The data could be reshaped into long format and analyzed as a multilevel model.
- Separate univariate ANOVAs – You could analyze these data using separate univariate ANOVAs for each response variable. The univariate ANOVA will not produce multivariate results utilizing information from all variables simultaneously. In addition, separate univariate tests are generally less powerful because they do not take into account the inter-correlation of the dependent variables.

## One-way MANOVA

We will use **proc glm** to run the one-way MANOVA. We will list the
variable **group** on the **class** statement to indicate that it is a
categorical predictor variable. We use the **ss3** option on the **
model** statement to get only the Type III sums of squares in the output.
We use some **contrast** statements to specify two contrasts in which we are
interested. We will discuss these when we see their output. We use
the first **manova** statement to obtain all of the multivariate tests that
SAS offers; we use the second **manova** statement to run the multivariate
tests using only the variables **useful** and **importance**.

Because the output is very long, we will break it up and discuss the different sections individually. Please also see our Annotated Output: SAS MANOVA.

proc glm data= mylib.manova; class group; model useful difficulty importance = group / ss3; contrast '1 vs 2&3' group 2 -1 -1; contrast '2 vs 3' group 0 1 -1; manova h=_all_; manova h=group m=(1 0 1); run;The GLM Procedure Class Level Information Class Levels Values GROUP 3 1 2 3 Number of Observations Read 33 Number of Observations Used 33

- The output above indicates that the variable listed on the
**class**statement,**group**, has three levels. - We also see that all 33 observations in the dataset were used in the analysis.

Dependent Variable: USEFUL Sum of Source DF Squares Mean Square F Value Pr > F Model 2 52.9242378 26.4621189 2.70 0.0835 Error 30 293.9654425 9.7988481 Corrected Total 32 346.8896803 R-Square Coeff Var Root MSE USEFUL Mean 0.152568 19.16873 3.130311 16.33030 Source DF Type III SS Mean Square F Value Pr > F GROUP 2 52.92423783 26.46211891 2.70 0.0835 Contrast DF Contrast SS Mean Square F Value Pr > F 1 vs 2&3 1 52.74241913 52.74241913 5.38 0.0273 2 vs 3 1 0.18181870 0.18181870 0.02 0.8926 Dependent Variable: DIFFICULTY Sum of Source DF Squares Mean Square F Value Pr > F Model 2 3.9751512 1.9875756 0.47 0.6282 Error 30 126.2872767 4.2095759 Corrected Total 32 130.2624279 R-Square Coeff Var Root MSE DIFFICULTY Mean 0.030516 35.89975 2.051725 5.715152 Source DF Type III SS Mean Square F Value Pr > F GROUP 2 3.97515121 1.98757560 0.47 0.6282 Contrast DF Contrast SS Mean Square F Value Pr > F 1 vs 2&3 1 3.73469643 3.73469643 0.89 0.3538 2 vs 3 1 0.24045478 0.24045478 0.06 0.8127 Dependent Variable: IMPORTANCE Sum of Source DF Squares Mean Square F Value Pr > F Model 2 81.8296936 40.9148468 2.88 0.0718 Error 30 426.3708962 14.2123632 Corrected Total 32 508.2005898 R-Square Coeff Var Root MSE IMPORTANCE Mean 0.161018 58.21603 3.769929 6.475758 Source DF Type III SS Mean Square F Value Pr > F GROUP 2 81.82969356 40.91484678 2.88 0.0718 Contrast DF Contrast SS Mean Square F Value Pr > F 1 vs 2&3 1 80.30060224 80.30060224 5.65 0.0240 2 vs 3 1 1.52909132 1.52909132 0.11 0.7452

- The above output shows the three one-way ANOVAs. While none of the three
ANOVAs were statistically significant at the alpha = .05 level,
in particular, the F-value for
**difficulty**was less than 1. - We also see the results of the two
**contrast**statements. The first contrast compares the treatment group (group 1) to the average of the two control groups (groups 2 and 3). The second contrast compares the two control groups. The first contrast is statistically significant for**useful**and**importance**, but not for**difficulty**. The second contrast is not statistically significant for any of the dependent variables.

Next, we will look at the overall MANOVA itself.

Multivariate Analysis of Variance Characteristic Roots and Vectors of: E Inverse * H, where H = Type III SSCP Matrix for GROUP E = Error SSCP Matrix Characteristic Characteristic Vector V'EV=1 Root Percent USEFUL DIFFICULTY IMPORTANCE 0.89198790 99.42 0.06410227 -0.00186162 0.05375069 0.00524207 0.58 0.01442655 0.06888878 -0.02620577 0.00000000 0.00 -0.03149580 0.05943387 0.01270798 MANOVA Test Criteria and F Approximations for the Hypothesis of No Overall GROUP Effect H = Type III SSCP Matrix for GROUP E = Error SSCP Matrix S=2 M=0 N=13 Statistic Value F Value Num DF Den DF Pr > F Wilks' Lambda 0.52578838 3.54 6 56 0.0049 Pillai's Trace 0.47667013 3.02 6 58 0.0122 Hotelling-Lawley Trace 0.89722998 4.12 6 35.61 0.0031 Roy's Greatest Root 0.89198790 8.62 3 29 0.0003 NOTE: F Statistic for Roy's Greatest Root is an upper bound. NOTE: F Statistic for Wilks' Lambda is exact. Characteristic Roots and Vectors of: E Inverse * H, where H = Contrast SSCP Matrix for 1 vs 2&3 E = Error SSCP Matrix Characteristic Characteristic Vector V'EV=1 Root Percent USEFUL DIFFICULTY IMPORTANCE 0.89039367 100.00 0.06414887 -0.00163749 0.05366515 0.00000000 0.00 -0.01449686 0.09003145 -0.00766730 0.00000000 0.00 0.03136839 0.01315947 -0.02826015

The overall multivariate test is significant, which means that differences
between the levels of the variable **group** exist. To find where the
differences lie, we will follow up with several post-hoc tests. We will begin with the multivariate test of group 1 versus the
average of groups 2 and 3.

/* contrast '1 vs 2&3' group 2 -1 -1; manova h-_all_; */MANOVA Test Criteria and Exact F Statistics for the Hypothesis of No Overall 1 vs 2&3 Effect H = Contrast SSCP Matrix for 1 vs 2&3 E = Error SSCP Matrix S=1 M=0.5 N=13 Statistic Value F Value Num DF Den DF Pr > F Wilks' Lambda 0.52899035 8.31 3 28 0.0004 Pillai's Trace 0.47100965 8.31 3 28 0.0004 Hotelling-Lawley Trace 0.89039367 8.31 3 28 0.0004 Roy's Greatest Root 0.89039367 8.31 3 28 0.0004

Taking all three dependent variables together, this contrast is statistically significant.

Here is the multivariate test of group 2 versus group 3.

/* contrast '2 vs 3' group 0 1 -1; manova h-_all_; */MANOVA Test Criteria and Exact F Statistics for the Hypothesis of No Overall 2 vs 3 Effect H = Contrast SSCP Matrix for 2 vs 3 E = Error SSCP Matrix S=1 M=0.5 N=13 Statistic Value F Value Num DF Den DF Pr > F Wilks' Lambda 0.99321011 0.06 3 28 0.9785 Pillai's Trace 0.00678989 0.06 3 28 0.9785 Hotelling-Lawley Trace 0.00683631 0.06 3 28 0.9785 Roy's Greatest Root 0.00683631 0.06 3 28 0.9785

Taking all three dependent variables together, this contrast is not statistically significant.

We know from the univariate tests above that **difficulty** by itself was clearly not significant. This next test does the multivariate test using the combination of
**useful** and **importance**.

/* manova h=group m=(1 0 1); */MANOVA Test Criteria and Exact F Statistics for the Hypothesis of No Overall GROUP Effect on the Variables Defined by the M Matrix Transformation H = Type III SSCP Matrix for GROUP E = Error SSCP Matrix S=1 M=0 N=14 Statistic Value F Value Num DF Den DF Pr > F Wilks' Lambda 0.53598494 12.99 2 30

The multivariate test with **useful** and **importance** as dependent
variables and **group** as the independent variable is statistically
significant.

We can use the **lsmeans** statement to obtain adjusted predicted values
for each of the dependent variables for each of the groups. These values can be
helpful in seeing where differences between levels of the predictor variable are
and describing the model.

**** STOP HERE AND REVIEW ****

proc glm data= mylib.manova; class group; model useful difficulty importance = group / ss3; lsmeans group; run;<**SOME OUTPUT OMITTED**> The GLM Procedure Least Squares Means USEFUL GROUP LSMEAN 1 18.1181817 2 15.5272729 3 15.3454545 DIFFICULTY GROUP LSMEAN 1 6.19090908 2 5.58181828 3 5.37272726 IMPORTANCE GROUP LSMEAN 1 8.68181812 2 5.10909089 3 5.63636369

In each of the three columns above, we see that the predicted means for groups 2 and 3 are very similar; the predicted mean for group 1 is higher than those for groups 2 and 3.

In the examples below, we obtain the differences in the means for each of the
dependent variables for each of the control groups (groups 2 and 3) compared to
the treatment group (group1), by specifying group 1 to be the reference group
(called “control” by SAS, confusingly for this scenario). With respect to the dependent variable **useful**,
the difference between the means for control group 1 versus the treatment group
is approximately -2.59 (15.53 – 18.12). The difference between the means for
control group 2 versus the treatment group is approximately -2.77 (15.35 –
18.12). With respect to the dependent variable **difficulty**, the
difference between the means for control group 1 versus the treatment group is
approximately -0.61 (5.58 – 6.19). The difference between the means for control
group 2 versus the treatment group is approximately -0.82 (5.37 – 6.19).

proc glm data= mylib.manova; class group; model useful difficulty importance = group / ss3; lsmeans group / pdiff = control('1') cl; run;The GLM Procedure Least Squares Means Adjustment for Multiple Comparisons: Dunnett H0:LSMean= USEFUL Control GROUP LSMEAN Pr > |t| 1 18.1181817 2 15.5272729 0.1099 3 15.3454545 0.0836 USEFUL GROUP LSMEAN 95% Confidence Limits 1 18.118182 16.190635 20.045728 2 15.527273 13.599726 17.454819 3 15.345454 13.417908 17.273001 Least Squares Means for Effect GROUP Difference Simultaneous 95% Between Confidence Limits for i j Means LSMean(i)-LSMean(j) 2 1 -2.590909 -5.688577 0.506759 3 1 -2.772727 -5.870395 0.324941 H0:LSMean= DIFFICULTY Control GROUP LSMEAN Pr > |t| 1 6.19090908 2 5.58181828 0.7117 3 5.37272726 0.5518 DIFFICULTY GROUP LSMEAN 95% Confidence Limits 1 6.190909 4.927522 7.454296 2 5.581818 4.318431 6.845206 3 5.372727 4.109340 6.636115 The GLM Procedure Least Squares Means Adjustment for Multiple Comparisons: Dunnett Least Squares Means for Effect GROUP Difference Simultaneous 95% Between Confidence Limits for i j Means LSMean(i)-LSMean(j) 2 1 -0.609091 -2.639420 1.421239 3 1 -0.818182 -2.848511 1.212148 H0:LSMean= IMPORTANCE Control GROUP LSMEAN Pr > |t| 1 8.68181812 2 5.10909089 0.0618 3 5.63636369 0.1203 IMPORTANCE GROUP LSMEAN 95% Confidence Limits 1 8.681818 6.360415 11.003221 2 5.109091 2.787688 7.430494 3 5.636364 3.314961 7.957766 Least Squares Means for Effect GROUP Difference Simultaneous 95% Between Confidence Limits for i j Means LSMean(i)-LSMean(j) 2 1 -3.572727 -7.303343 0.157889 3 1 -3.045454 -6.776070 0.685161

Finally, let’s run separate univariate ANOVAs. Without a **manova**
statement specified, **proc** **glm **will run separate ANOVAs when
multiple DVs are in the **model** statement.

proc glm data = mylib.manova; class group; model useful difficulty importance = group / ss3; run;Dependent Variable: USEFUL Sum of Source DF Squares Mean Square F Value Pr > F Model 2 52.9242378 26.4621189 2.70 0.0835 Error 30 293.9654425 9.7988481 Corrected Total 32 346.8896803 R-Square Coeff Var Root MSE USEFUL Mean 0.152568 19.16873 3.130311 16.33030 Dependent Variable: DIFFICULTY Sum of Source DF Squares Mean Square F Value Pr > F Model 2 3.9751512 1.9875756 0.47 0.6282 Error 30 126.2872767 4.2095759 Corrected Total 32 130.2624279 R-Square Coeff Var Root MSE DIFFICULTY Mean 0.030516 35.89975 2.051725 5.715152 Dependent Variable: IMPORTANCE Sum of Source DF Squares Mean Square F Value Pr > F Model 2 81.8296936 40.9148468 2.88 0.0718 Error 30 426.3708962 14.2123632 Corrected Total 32 508.2005898 R-Square Coeff Var Root MSE IMPORTANCE Mean 0.161018 58.21603 3.769929 6.475758

None of the three ANOVAs were statistically significant at the alpha = .05 level.
In particular, the F-ratio for **difficulty** was less than 1.

## Things to consider

- One of the assumptions of MANOVA is that the response variables come from group populations that are multivariate normal distributed. This means that each of the dependent variables is normally distributed within group, that any linear combination of the dependent variables is normally distributed, and that all subsets of the variables must be multivariate normal. With respect to Type I error rate, MANOVA tends to be robust to minor violations of the multivariate normality assumption.
- The homogeneity of population covariance matrices is another assumption. This implies that the population variances and covariances of all dependent variables must be equal in all groups formed by the independent variables.
- Small samples can have low power, but if the multivariate normality assumption is met, the MANOVA is generally more powerful than separate univariate tests.
- There are at least five types of follow-up analyses that can be done after a statistically significant MANOVA. These include multiple univariate ANOVAs, stepdown analysis, discriminant analysis, dependent variable contribution, and multivariate contrasts.

## See also

- SAS online documentation for proc glm
- SAS annotated output: MANOVA

## References

- Grimm, L. G. and Yarnold, P. R. (editors). 1995.
*Reading and Understanding Multivariate Statistics*. Washington, D.C.: American Psychological Association. - Huberty, C. J. and Olejnik, S. 2006. Applied MANOVA and Discriminant Analysis, Second Edition. Hoboken, New Jersey: John Wiley and Sons, Inc.
- Stevens, J. P. 2002.
*Applied Multivariate Statistics for the Social Sciences, Fourth Edition*. Mahwah, New Jersey: Lawrence Erlbaum Associates, Inc. - Tatsuoka, M. M. 1971. Multivariate Analysis:
*Techniques for Educational and Psychological Research*. New York: John Wiley and Sons.