ANOVA Family · General Linear Model
MANOVA
MANOVA compares groups on several related outcomes at once.
A one-way MANOVA takes two or more related continuous outcomes from two or more separate groups and tests whether the groups' averages differ on the outcomes taken together.
Do adults with secure, anxious and avoidant attachment styles differ in how lonely and how satisfied with their relationships they are? Ninety adults in romantic relationships, 30 with each attachment style, rated their loneliness (20–80) and their relationship satisfaction (10–50).
- Tests
- Differences among population mean vectors
- Observations
- Independent
- Parametric
- Yes
- Headline Statistic
- V
- Effect Size
- Multivariate Partial Eta Squared
- Groups
- 2+
The Basics
When to Use It
Use it when you have two or more separate groups of different people, two or more related continuous outcomes, and a question about the outcomes together: do the groups differ on the combination, such as overall relationship well-being measured two ways? If each outcome answers its own question, separate ANOVAs with a correction are simpler and say more (Huang, 2020). With only two groups, a one-way MANOVA is Hotelling's T², and all four multivariate statistics give the same p. For example:
- Do adults with secure, anxious and avoidant attachment styles differ in loneliness and relationship satisfaction, taken together?
- Do CBT, medication and a waitlist differ on a depression profile made of mood, sleep and appetite scores?
- Do three reading programs differ on reading skill, measured by fluency and comprehension test scores?
Vocabulary You Need
Definition Between-Groups SSCP Matrix (\mathbf{H})
The multivariate version of the between-groups sum of squares. SSCP stands for sums of squares and cross-products: a square table with one row and one column per outcome. Each diagonal entry is that outcome's own between-groups sum of squares. Each off-diagonal entry is a cross-product: for every group, how far its mean sits from the grand mean on one outcome times how far on the other, counted once per person and added up. A negative cross-product means groups that are high on one outcome tend to be low on the other. Also called the hypothesis matrix (H) or B. Glossary →
Definition Within-Groups SSCP Matrix (\mathbf{E})
The multivariate version of the within-groups sum of squares. Each diagonal entry is one outcome's within-groups sum of squares. Each off-diagonal entry adds up, across everyone, a person's distance from their group's mean on one outcome times their distance on the other, so it carries the correlation between the outcomes inside the groups. It is the background noise that group differences are judged against. Divided by N − k it becomes the pooled within-groups covariance matrix. Also called the error matrix (E) or W. Glossary →
Definition Pillai's Trace (V)
The sum, across the dimensions on which the groups can differ, of the share of variation each dimension explains, where a dimension is a weighted blend of the outcomes chosen to separate the groups (the best blend, then the next best uncorrelated with it, and so on). It runs from 0 (the group means are identical on every outcome) to s, the smaller of the number of outcomes and the effect's degrees of freedom (with groups, the number of groups minus 1; for one continuous predictor, 1), so it isn't a percentage of all the variation. Of the four usual MANOVA statistics it holds its false-positive rate best when the covariance matrices differ or the data aren't normal, which is why it is a common default. Also called the Pillai-Bartlett trace. Glossary →
Definition Wilks' Lambda (\Lambda)
The determinant of the within-groups SSCP matrix divided by the determinant of the total (within plus between), |E| ÷ |H + E|. A determinant measures how much a set of outcomes varies in all directions at once, so Λ is the generalized share of variation that is not explained by the groups. It runs from 0 to 1, and smaller is stronger: 1 means the groups explain nothing. It is the likelihood-ratio test for MANOVA and the oldest of the four usual statistics. With a covariate, H and E are adjusted for it, and H + E is the variation left by a model with the covariate alone. Glossary →
Definition Discriminant Function
A new score made by weighting and adding the outcomes, with the weights chosen so the groups differ on it as much as possible relative to the variation within groups. There are as many functions as the smaller of the number of outcomes and the number of groups minus 1, each uncorrelated with the others. MANOVA tests whether the groups differ on any such combination; descriptive discriminant analysis shows what the combinations are. Read them through structure coefficients, each outcome's correlation with the function, rather than through the weights alone. Glossary →
Assumptions and Inference
1. Independent Participants (for the p-Value) Each person contributes one set of outcome scores, and different people's sets are independent. Couples, classrooms or other clusters can break this even when each person appears only once.
- What It Means
- Each person's data comes from a separate, unconnected source, so knowing one person's scores tells you nothing about anyone else's. In designs that measure people more than once, their own scores are meant to be related; it's different people who must be independent. Methods built for clustered data, such as multilevel models and GEE, also allow members of the same group to be related, as long as the analysis names the grouping; then it's the groups that must be independent.
- Applies To
- Observations
- How to Check
- By design, not by a test. Did each person contribute their own data, with no clusters such as roommates, couples, therapy groups or classrooms whose members influence each other? If there are clusters, does the analysis model every one of them?
- How Much It Matters
- A lot. If couples, friends or therapy groups were in the sample together, their scores are more alike than the test expects, and p comes out too small.
What to Do
- Alternative Test Multilevel Regression (HLM). A multivariate multilevel model, with both outcomes in one model and a random intercept for each cluster, which accounts for the clustering.
- Design Change Recruit people independently, for example one partner per couple.
2. Multivariate Normality Within Groups (for the p-Value) Within each group, the outcomes jointly follow a multivariate normal distribution: not just each outcome bell-shaped on its own, but every weighted combination of them too. Moderate departures are often tolerated, especially with larger, equal-sized groups, but strong departures can affect the test.
- What It Means
- The variables jointly follow a multivariate normal distribution: each is roughly normal, and every weighted combination of them is too, so the scatterplot of any two is an oval cloud. When the design has groups, as in MANOVA, it applies within each group; in a multivariate regression, to the outcomes' residuals; in factor analysis and SEM, it applies to the observed variables that maximum likelihood is fitted to (for outcomes, after allowing for any predictors the model takes as given). P-values and standard errors rely on it; estimates are usually less affected, and robust standard errors or a scaled test statistic can take its place.
- Applies To
- Residuals
- How to Check
- Within each group, look at each outcome's histogram or Q–Q plot and at the scatterplot of the outcomes for curved or lopsided clouds, and check each person's multivariate distance from their group's centroid (see No Extreme Multivariate Outliers). A person can look ordinary on every outcome and still be unusual in combination.
- How Much It Matters
- Less as groups grow, because the test works on group means. Pillai's trace, the statistic used here, held up best to non-normal data in Olson's (1974) simulations. Outliers matter more than skew: one extreme person can pull a group's means and the covariance matrix. Here the within-group residuals' skewness runs from −0.39 to 0.32, and a permutation test (5,000 shuffles) gives p = .015, the same as the F approximation.
What to Do
- Robust Estimation Shuffle the group labels many times and recompute Pillai's trace each time; the share of shuffles at least as large as ours is a p-value that doesn't assume normality.
- Transformation Log-transform a right-skewed outcome such as reaction time. Results for it are then on the log scale.
- Proceed with Caveat A different question, not a drop-in replacement: if the outcomes don't need to be tested together, compare the groups on each one separately with a Kruskal-Wallis test and a Holm correction. For the same multivariate question without normality, use the permutation test.
3. Equal Covariance Matrices (for the p-Value) The groups share one population covariance matrix: the same variance for each outcome and the same covariance between outcomes. Equal group sizes make the test more robust to moderate differences, but substantial differences can distort it.
- What It Means
- Each group's population has the same covariance matrix: the same variance on every outcome and the same covariance (so the same correlation) between every pair. It's the multivariate version of equal variances, and it's what lets MANOVA pool the groups into one within-groups SSCP matrix.
- Applies To
- Covariance structure
- How to Check
- Compare the groups' standard deviations and within-group correlations side by side, or overlay each group's data ellipse on a scatterplot. Box's M test (Box, 1949) is the usual formal check, but it is very sensitive to non-normality and outliers (Friendly & Sigal, 2020) and flags trivial differences in large samples, so don't use it as a gatekeeper; some authors use a strict cutoff such as p < .001.
- How Much It Matters
- Less with equal group sizes, like our 30 per style, whose SDs (9.98 to 9.99 and 5.50 to 5.51) and correlations (−.39 to −.42) are nearly identical. When groups differ in both size and covariance, the error rates drift: if the larger groups have the larger spread, the test is too strict; if the smaller groups do, it's too lenient, often badly. Pillai's trace is the most robust choice (Olson, 1974), but that doesn't make unequal covariance matrices harmless. With unequal groups and clearly different matrices, use a method built for them, such as a heteroscedasticity-robust multivariate test (in R, the
MANOVA.RMpackage'sMANOVA.wide).
What to Do
- Correction Report Pillai's trace rather than Wilks' lambda or Roy's largest root; it's the least affected by unequal covariance matrices.
- Design Change Plan equal group sizes, which makes the test far less sensitive to unequal covariances.
4. Linear Relationships between Outcomes MANOVA describes how the outcomes go together with linear covariances. Check within-group scatterplots for marked curves or patterns a covariance would misdescribe.
- What It Means
- As one variable goes up, the other tends to change by about the same amount across its whole range. A curved relationship, one that levels off or a U shape, breaks this.
- Applies To
- Relationship
- How to Check
- Look at a scatterplot of each pair of variables the analysis relates: a roughly oval cloud tilted one way is fine; a clear bend, a ceiling or a U is not. In a regression with several predictors, plot the residuals against the predicted values instead: a flat, even band is fine; a curve means the model is missing a bend. A component-plus-residual plot for each predictor (R: car::crPlots) shows whether one of them bends once the others are held constant.
- How Much It Matters
- Some. MANOVA uses the outcomes' covariance, which only captures straight-line relationships, so a curved relationship between them wastes information and costs power rather than causing false positives.
What to Do
- Transformation Transform the outcome that bends the relationship, then check the scatterplot again.
- Proceed with Caveat Say the outcomes aren't linearly related and report each one's group comparison as well.
5. No Extreme Multivariate Outliers No one has an unusual combination of scores that dominates the results. Check multivariate distances, not just each outcome separately, and investigate flagged people rather than deleting them automatically.
- What It Means
- A few points far from the rest can pull a statistic around on their own, so it describes those few points more than everyone else. In a test, that can create an effect that isn't there or hide one that is.
- Applies To
- Observations
- How to Check
- Plot the data and look for points far from the rest. With two or more variables, flag cases with large squared Mahalanobis distances across them: points can be ordinary on each variable but unusual in combination. Check each against the raw records, and compare the result with and without it.
- How Much It Matters
- A lot, in small groups. A person can be unremarkable on each outcome but unusual in combination (lonely yet very satisfied), which only a multivariate distance reveals. Our largest squared Mahalanobis distance is 6.76, well under 13.82, a strict cutoff for two outcomes (the χ² value with 2 df that only 0.1% of cases would exceed).
What to Do
- Proceed with Caveat Check each flagged case against the raw data, and report the result with and without it.
- Robust Estimation A permutation test on Pillai's trace doesn't rely on normality, though an outlier still pulls the means.
Limitations
This Is Not Your Test If…
- You have just one outcome One-Way Between-Subjects ANOVA →
- Your outcomes answer separate questions, not one shared one One-Way Between-Subjects ANOVA →
- You measured the same people in every condition One-Way Repeated-Measures ANOVA →
- You want to adjust for a covariate, like a pretest MANCOVA →
- Your predictors are continuous, not groups Multivariate Regression →
- Your outcomes aren't continuous (yes/no, categories) Categorical Data and Proportions →
What It Doesn't Tell You
- Which groups, on which outcomes. The omnibus test only says the three styles' pairs of averages aren't all equal. Which styles differ, and on what, comes from the follow-ups: here, a satisfaction gap between secure and avoidant adults, and an exploratory second dimension on which anxious adults are lonelier than their satisfaction would predict.
- Why. Attachment style wasn't assigned, so nothing here says it causes loneliness or dissatisfaction. Unhappy relationships might shape attachment, or something else might drive both.
- Whether it matters. Significance doesn't make a 4-point satisfaction gap important in people's lives.
- Whether the combination is meaningful. MANOVA tests a weighted blend of the outcomes that the data choose. It's worth running only if loneliness and satisfaction together stand for something you care about, such as relationship well-being; if they're separate questions, separate ANOVAs answer them more directly (Huang, 2020).
- That there's no difference in loneliness. Its follow-up ANOVA missed the corrected cutoff (p = .072). That's inconclusive, not evidence that the styles are equally lonely.
Common Mistakes
-
Don'tFollow a significant MANOVA with uncorrected ANOVAs when you have three or more outcomes.
InsteadCorrect the ANOVAs with Holm or Bonferroni, or use discriminant analysis (or, if the outcomes have a natural order of importance, Roy–Bargmann stepdown analysis). With exactly two outcomes, requiring a significant MANOVA before testing either outcome at .05 controls the familywise error across those two outcome hypotheses, under the model's assumptions. It doesn't extend to pairwise group comparisons or other exploratory tests, and with three or more outcomes the gate doesn't protect unadjusted ANOVAs at all.
-
Don'tRun a MANOVA with only a handful of people per group.
InsteadHave clearly more people in every group than outcomes, and many more for power. With fewer, a group's covariance matrix can't be estimated, so its spread can't be checked.
-
Don'tChoose the set of outcomes after trying several and keeping the one that gives a significant MANOVA.
InsteadDecide which outcomes belong together, and why, before looking at the group differences.
-
Don'tRun a MANOVA just because you measured several outcomes.
InsteadUse it when the outcomes together answer one question. Otherwise run separate ANOVAs with a correction.
-
Don'tReport only that “the MANOVA was significant.”
InsteadName the statistic (Pillai's trace or Wilks' lambda) and give its value, F, both df and p.
-
Don'tInclude outcomes that nearly duplicate each other, or a total along with its parts.
InsteadDrop redundant outcomes. Near-duplicates make the SSCP matrices close to singular and the results unstable. Outcomes that barely correlate are the opposite case: the test runs, but make sure they really answer one question together.
-
Don'tRead multivariate partial η² as the share of the total raw variance explained across all the outcomes.
InsteadName the multivariate statistic it came from. For Pillai's trace, SPSS reports V divided by the number of discriminant dimensions, s. Report each outcome's own η² separately when those are scientifically relevant.
-
Don'tLet Box's M test decide whether you can run the MANOVA.
InsteadCompare the groups' SDs and correlations directly, keep group sizes equal, and report Pillai's trace.
-
Don'tRead a p-value as the chance that the null hypothesis is true.
InsteadRead it as: if the null were true, how often data at least this extreme would turn up.
Result Decoder
Significance and Effect Size Guidelines
Benchmarks Significance (p Value)
-
p < .001
Very strong evidence against the null hypothesis.
-
.001 ≤ p < .01
Strong evidence against the null hypothesis.
-
.01 ≤ p < .05
Statistically significant at α = .05. Moderate evidence against the null hypothesis.
-
.05 ≤ p < .10
Not significant. Weak evidence; sometimes called a “trend.” Treat it as inconclusive.
-
p ≥ .10
Not significant. Little evidence against the null, which is not the same as evidence of no effect.
These evidence labels are one common convention for describing p in graded language rather than as significant or not; the boundaries are rough guides, not rules, and other authors draw them differently. Muff et al. (2022) argue for this kind of language of evidence over a single cutoff. α is chosen before the analysis, and p never says how big or important an effect is.
Benchmarks Effect Size (Multivariate Partial Eta Squared)
-
η²ₚ < .01
Below Small
Smaller than the conventional small benchmark. Whether an effect this size matters depends on the setting.
-
.01 ≤ η²ₚ < .06
Small
A sliver of the remaining variation lines up with the effect. Hard to see without measuring it.
-
.06 ≤ η²ₚ < .14
Medium
A noticeable share of the remaining variation lines up with the effect.
-
η²ₚ ≥ .14
Large
A large share of the remaining variation lines up with the effect.
Here partial η² is Pillai's trace divided by s, SPSS's multivariate version. The benchmarks were written for a single outcome (Cohen, 1988) and are borrowed; treat them as rough, and not as measures of practical importance.
How It's Reported
Equation Form
Pillai's V = .14, F(4, 174) = 3.18, p = .015, η²p = .07
Table 1. Loneliness and Relationship Satisfaction by Attachment Style
| n | Loneliness M | Loneliness SD | Satisfaction M | Satisfaction SD | |
|---|---|---|---|---|---|
| Secure | 30 | 40.00 | 9.99 | 38.00 | 5.50 |
| Anxious | 30 | 46.00 | 9.98 | 36.00 | 5.51 |
| Avoidant | 30 | 43.00 | 9.99 | 34.00 | 5.50 |
| All | 90 | 43.00 | 10.17 | 36.00 | 5.68 |
Note. Loneliness is scored 20–80 and satisfaction 10–50; higher means lonelier and more satisfied. Within each style, the two correlate about −.40.
Table 2. Multivariate Tests for Attachment Style
| Value | F | df_1 | df_2 | p | \eta^2_p | |
|---|---|---|---|---|---|---|
| Pillai's trace | .136 | 3.18 | 4 | 174 | .015 | .07 |
| Wilks' Λ | .868 | 3.15 | 4 | 172 | .016 | .07 |
Note. The F values are approximations, as SPSS computes them; η²p is SPSS's multivariate partial eta squared for each statistic. Pillai's trace, chosen in advance, is the one we report; Wilks' Λ is shown as a check and agrees. SPSS also prints Hotelling's trace and Roy's largest root (see Run It in Software).
Table 3. Follow-Up ANOVAs on Each Outcome
| F | df | p | \eta^2_p | |
|---|---|---|---|---|
| Loneliness | 2.71 | 2, 87 | .072 | .06 |
| Satisfaction | 3.97 | 2, 87 | .022 | .08 |
Note. Each ANOVA is judged against a Bonferroni-corrected α of .05 ÷ 2 = .025. Only satisfaction clears it.
Full Text (APA Style)
Securely attached adults were the least lonely (M = 40.00, SD = 9.99) and the most satisfied with their relationships (M = 38.00, SD = 5.50). Anxious adults were the loneliest (M = 46.00, SD = 9.98; satisfaction M = 36.00, SD = 5.51), and avoidant adults the least satisfied (M = 34.00, SD = 5.50; loneliness M = 43.00, SD = 9.99). A one-way MANOVA found that the attachment styles differed on the two outcomes taken together, Pillai's V = .14, F(4, 174) = 3.18, p = .015, η²p = .07 (Pillai's V ÷ 2, averaged over the two discriminant dimensions). Follow-up ANOVAs at a Bonferroni-corrected α of .025 showed that the styles differed in relationship satisfaction, F(2, 87) = 3.97, p = .022, η²p = .08, but not reliably in loneliness, F(2, 87) = 2.71, p = .072, η²p = .06.
- Give every group's M and SD on every outcome, so readers can see the pattern the multivariate test summarizes. A table works well.
- Name the multivariate statistic (Pillai's trace here), chosen in advance, and give its value, F, both degrees of freedom and p. Wilks' Λ can go beside it as a check; there's no need to table all four.
- Say which multivariate η² you report and how it was computed (here SPSS's V ÷ s). Leave out the interval R's effectsize prints for it: it treats Pillai's approximate F as an exact noncentral F, and its coverage for V ÷ s hasn't been established.
- Say how you followed up a significant result (corrected ANOVAs, discriminant analysis or both), and report those results too.
- Italicize Latin symbols (M, SD, V, F, p) but not Greek ones (Λ, η²), and report exact p to three decimals.
Reading Each Piece
The equation form above, piece by piece, in this order: how big, then how surprising.
| η²p = .07 | Averaged over the two discriminant dimensions, attachment style lines up with about 7% of the variation. That isn't 7% of the raw variance in loneliness and satisfaction, and it isn't either outcome's own η² (.06 and .08). It's a medium effect by the borrowed benchmarks above; whether it matters is a question about relationships, not statistics. Benchmarks ↑ |
| Pillai's V = .14 | Group membership lines up with .14 of the variation, added up over the two dimensions (blends of the outcomes) on which three groups can differ. It isn't a percentage of all the variation: it could reach 2 here, and 0 would mean identical averages on both outcomes. |
| Λ = .87 | About 87% of the variation in the two outcomes, measured in all directions at once, doesn't line up with attachment style. It tells the same story as V; with three groups the two usually agree, and here they give nearly the same p (.016 for Λ). |
| F(4, 174) = 3.18 | Pillai's trace converted to an F of 3.18. The 4 and 174 are its degrees of freedom, set by our 2 outcomes, 3 groups and 90 people; they aren't the ANOVA's k − 1 and N − k. |
| p = .015 | If the three styles had identical population mean vectors, a Pillai F of 3.18 or more would turn up about 1.5% of the time, under the test's assumptions. That's below .05, so the result is statistically significant. Benchmarks ↑ |
Calculations
The Running Example
The attachment study: 90 adults in relationships, 30 per attachment style (secure, anxious, avoidant), each with a loneliness score and a relationship satisfaction score.
- Null Hypothesis:
- \boldsymbol{\mu}_{\text{secure}} = \boldsymbol{\mu}_{\text{anxious}} = \boldsymbol{\mu}_{\text{avoidant}}
- Alternative:
- not all three mean vectors are equal
Each \boldsymbol{\mu} is a mean vector: the population's average loneliness and average satisfaction, as a pair, for adults with that attachment style. Our samples estimate them as (40, 38) for secure, (46, 36) for anxious and (43, 34) for avoidant. The null says all three pairs are equal; the alternative doesn't say which styles differ, on which outcome, or in what direction.
What Your Data Should Look Like
One row per person, with one column naming their group and one numeric column for each outcome. Each person appears once, in exactly one group, with a score on every outcome; anyone missing an outcome is dropped from the whole analysis.
| participant | attachment | loneliness | satisfaction |
|---|---|---|---|
| 1 | anxious | 47 | 34 |
| 2 | avoidant | 51 | 25 |
| 3 | secure | 45 | 36 |
| 4 | avoidant | 50 | 32 |
| 5 | secure | 46 | 49 |
| 6 | avoidant | 49 | 36 |
| … 84 more rows | |||
| n | Loneliness M (SD) | Satisfaction M (SD) | |
|---|---|---|---|
| Secure | 30 | 40.00 (9.99) | 38.00 (5.50) |
| Anxious | 30 | 46.00 (9.98) | 36.00 (5.51) |
| Avoidant | 30 | 43.00 (9.99) | 34.00 (5.50) |
| All | 90 | 43.00 (10.17) | 36.00 (5.68) |
Within-group correlation between loneliness and satisfaction: r = −.40.
Simulated data.
Napkin Math
The whole test, one idea at a time. Under each heading, a line says why the step matters, and the green note reads the equation in plain English with the attachment study's numbers. Collapse all to read just the headings: they tell the whole story on their own.
-
1. Find Each Group's Average on Both Outcomes
MANOVA compares groups on several outcomes at once, so each group's average is a pair of numbers: its mean loneliness and its mean satisfaction. As in ANOVA, everything is measured against the overall averages.
\bar{\mathbf{x}} = \tfrac{1}{3}\left[\begin{pmatrix} 40 \\ 38 \end{pmatrix} + \begin{pmatrix} 46 \\ 36 \end{pmatrix} + \begin{pmatrix} 43 \\ 34 \end{pmatrix}\right]\bar{x}_{\text{lonely}} = 43.00 points
\bar{x}_{\text{sat}} = 36.00 points
Each column is one style's mean vector, loneliness on top and satisfaction below. With 30 people in every group, the grand mean vector \bar{\mathbf{x}} is just their average, 43.00 points of loneliness and 36.00 points of satisfaction.
-
2. Measure How Far the Group Averages Spread, on Each Outcome and Together
The between-groups sum of squares, done for both outcomes at once. The diagonal holds each outcome's own spread; the corner adds up whether groups that are high on one outcome are low or high on the other.
\mathbf{H} = \sum_{j} n_j (\bar{\mathbf{x}}_j - \bar{\mathbf{x}})(\bar{\mathbf{x}}_j - \bar{\mathbf{x}})^{\top} =30\begin{pmatrix} -3 \\ 2 \end{pmatrix}\!\begin{pmatrix} -3 & 2 \end{pmatrix} + 30\begin{pmatrix} 3 \\ 0 \end{pmatrix}\!\begin{pmatrix} 3 & 0 \end{pmatrix} + 30\begin{pmatrix} 0 \\ -2 \end{pmatrix}\!\begin{pmatrix} 0 & -2 \end{pmatrix}H_{11} = 540
H_{12} = −180
H_{22} = 240
n_j is the 30 people in each group, and each vector is that group's distance from (43, 36): secure is 3 points less lonely and 2 more satisfied, anxious 3 lonelier, avoidant 2 less satisfied. Loneliness: 30 × (9 + 9 + 0) = 540. Satisfaction: 30 × (4 + 0 + 4) = 240. The corner: 30 × (−3 × 2) = −180, negative because the less lonely group is the more satisfied one. (A column times a row makes a small table: each entry is one distance times another, so the diagonal holds squared distances and the corners hold loneliness distance × satisfaction distance.)
-
3. Measure How Much People Vary within Their Own Group, on Each Outcome and Together
The within-groups sum of squares, again for both outcomes at once. The corner carries how loneliness and satisfaction go together inside each group, which MANOVA uses and separate ANOVAs ignore.
\mathbf{E} = \sum_{j} \sum_{i} (\mathbf{x}_{ij} - \bar{\mathbf{x}}_j)(\mathbf{x}_{ij} - \bar{\mathbf{x}}_j)^{\top} =\begin{pmatrix} 29(99.72 + 99.52 + 99.79) & 29(-21.45 - 21.59 - 22.97) \\ 29(-21.45 - 21.59 - 22.97) & 29(30.21 + 30.34 + 30.21) \end{pmatrix}E_{11} = 8672
E_{12} = −1914
E_{22} = 2632
r_{\text{within}} = −.40
Each group contributes n_j - 1 = 29 times its variance (the SD squared) on the diagonal and 29 times its covariance in the corner. That gives 8672 for loneliness, 2632 for satisfaction and −1914 for the corner. Scaled to a correlation, −1914 ÷ √(8672 × 2632) = −.40: within a style, lonelier people tend to be less satisfied. So a group that is both lonelier and less satisfied than another is less surprising than either gap alone, and one that is lonelier yet more satisfied is more surprising. MANOVA judges the group gaps against this tilted cloud, which is how it can find a difference that no single ANOVA does, or miss one that an ANOVA finds.
-
4. Find the Share of Variation the Groups Explain, Both Outcomes at Once
In ANOVA, the between-groups sum of squares divided by the total is the share the groups explain (statistically: the share that lines up with group membership). With several outcomes, MANOVA looks for the weighted blend of the outcomes that separates the groups best, then the next-best blend uncorrelated with the first, and so on, up to s blends: here 2. These blends are the dimensions on which the groups can differ. Pillai's trace adds up the share each one explains, so here it can reach 2. The shortcut is the ANOVA idea with matrices: H divided by the total H + E, with the diagonal added up.
V = \operatorname{tr}\!\left[\mathbf{H}(\mathbf{H} + \mathbf{E})^{-1}\right] =\dfrac{540(2872) + 240(9212) - 2(-180)(-2094)}{9212(2872) - (-2094)^2} = \dfrac{3{,}007{,}920}{22{,}072{,}028}= 0.136
\mathbf{H} + \mathbf{E} is the total matrix, 9212 and 2872 on the diagonal and −2094 in the corner, and (\mathbf{H} + \mathbf{E})^{-1} is the matrix version of dividing by it. For 2 × 2 matrices, multiplying out and adding the diagonal (the trace, tr) gives (H₁₁T₂₂ + H₂₂T₁₁ − 2H₁₂T₁₂) ÷ |T|, where T = H + E: the fraction shown, .136. That's the same total as adding up the two dimensions' shares (.084 and .053). The diagonal entries themselves, .053 and .083, belong to the outcomes, not the dimensions; they sit close to each outcome's own η² from a separate ANOVA (.059 and .084), nudged by the −.40 correlation between the outcomes.
-
5. Find the Share the Groups Leave Unexplained
Wilks' lambda asks the reverse question: how much of the total variation doesn't line up with the groups? A determinant measures variation in all directions at once, so Λ compares the within-groups matrix with the total.
\Lambda = \dfrac{|\mathbf{E}|}{|\mathbf{H} + \mathbf{E}|} =\dfrac{8672(2632) - (-1914)^2}{9212(2872) - (-2094)^2} = \dfrac{19{,}161{,}308}{22{,}072{,}028}= .868
For a 2 × 2 matrix, the determinant |\cdot| is the diagonal multiplied minus the corner squared. |\mathbf{E}| is 19,161,308 and |\mathbf{H} + \mathbf{E}| is 22,072,028, so .868 of the variation is left unexplained. Smaller Λ means a stronger effect.
-
6. Turn That Share into an F Ratio
Pillai's trace has no simple distribution of its own, so it is converted to an approximate F, whose degrees of freedom depend on how many outcomes, groups and people there are.
F = \dfrac{V}{s - V} \times \dfrac{2n + s + 1}{2m + s + 1} =\dfrac{.136}{2 - .136} \times \dfrac{2(42) + 2 + 1}{2(-0.5) + 2 + 1}= 3.18
df_1 = 4
df_2 = 174
s is 2, the smaller of our 2 outcomes and 3 − 1 groups. m = (|2 - 2| - 1) \div 2 = -0.5 and n = (90 - 3 - 2 - 1) \div 2 = 42. So .136 ÷ 1.864 = 0.073, times 87 ÷ 2 = 43.5, gives F = 3.18, on 2 × 2 = 4 and 2 × 87 = 174 degrees of freedom.
-
7. Measure How Big the Multivariate Difference Is
V grows with the number of dimensions the groups can differ on. Dividing by that number, s, gives an average share, which SPSS reports as partial eta squared.
\eta^2_p = \dfrac{V}{s} =\dfrac{.136}{2}= .07
V is our .136 and s is the 2 dimensions. .136 ÷ 2 = .068, so on average attachment style lines up with about 7% of the variation along each of the two discriminant dimensions.
-
8. Ask How Surprising the Result Would Be If the Styles Had the Same Averages
Finally, ask how often chance alone would spread three groups' pairs of averages at least this far apart if all three styles had the same population averages on both outcomes.
p = P(F_{df_1,\,df_2} \ge F) =P(F_{4,\,174} \ge 3.18)= .015
F_{4,\,174} is an F distribution with 4 and 174 df. The chance it lands at or above 3.18 is .015, about 1 in 67. Only large values count against the null, but they catch differences in any direction, on either outcome or both.
-
9. Find Which Outcomes Differ, with a Correction
A significant MANOVA says the groups differ somewhere, not where. One common follow-up is an ANOVA on each outcome, each tested at α divided by the number of outcomes. With exactly two outcomes, testing each at .05 only after a significant MANOVA also controls the familywise error across those two outcome tests, under the model's assumptions, though not for pairwise comparisons or other exploratory tests. With three or more outcomes the MANOVA doesn't protect unadjusted ANOVAs, so the correction is needed.
\alpha_{\text{each}} = \dfrac{.05}{2} = .025F_{\text{sat}} = 3.97
p_{\text{sat}} = .022
F_{\text{lonely}} = 2.71
p_{\text{lonely}} = .072
An ANOVA on each outcome, judged against .025. Satisfaction: F(2, 87) = 3.97, p = .022, which clears it. Loneliness: F(2, 87) = 2.71, p = .072, which misses both .025 and .05. The discriminant analysis below finds a second, weaker dimension on which anxious adults are lonelier than their satisfaction would predict; that's a different measure from raw loneliness, and an exploratory one.
Run It in Software
The code below reads the running example's data from data.csv; save it in the same folder you run the code from.
SPSS (version 30, as documented by IBM)
- Analyze → General Linear Model → Multivariate.
- Move
lonelinessandsatisfactioninto Dependent Variables andattachmentinto Fixed Factor(s). String factors are fine here. - Options: check Descriptive statistics, Estimates of effect size and Homogeneity tests.
- Post Hoc: move
attachmentacross and check Tukey, for pairwise comparisons on each outcome. Click OK. - For the discriminant analysis, use Analyze → Classify → Discriminant, with
attachment(recoded to numbers 1 to 3) as the grouping variable and both outcomes as independents.
Or paste this syntax:
GLM loneliness satisfaction BY attachment /METHOD=SSTYPE(3) /INTERCEPT=INCLUDE /POSTHOC=attachment(TUKEY) /PRINT=DESCRIPTIVE ETASQ HOMOGENEITY /CRITERIA=ALPHA(.05) /DESIGN=attachment.
Reading the Output
Read the tables in this order: the group Means in Descriptive Statistics, then Partial Eta Squared, Value, F and Sig. on the Pillai's Trace row of Multivariate Tests, then Tests of Between-Subjects Effects for each outcome.
Multivariate Tests (attachment rows)
| Effect | Value | F | Hypothesis df | Error df | Sig. | Partial Eta Squared |
|---|---|---|---|---|---|---|
| Pillai's Trace | .136 | 3.181 | 4.000 | 174.000 | .015 | .068 |
| Wilks' Lambda | .868 | 3.151 | 4.000 | 172.000 | .016 | .068 |
| Hotelling's Trace | .147 | 3.120 | 4.000 | 170.000 | .017 | .068 |
| Roy's Largest Root | .091 | 3.968 | 2.000 | 87.000 | .022 | .084 |
SPSS also prints Intercept rows, which test whether the outcomes' averages are zero; ignore them. Roy's F is an upper bound, so its Sig. is a lower bound.
Tests of Between-Subjects Effects (abridged)
| Source | Dependent Variable | Type III Sum of Squares | df | Mean Square | F | Sig. | Partial Eta Squared |
|---|---|---|---|---|---|---|---|
| attachment | loneliness | 540.000 | 2 | 270.000 | 2.709 | .072 | .059 |
| satisfaction | 240.000 | 2 | 120.000 | 3.967 | .022 | .084 | |
| Error | loneliness | 8672.000 | 87 | 99.678 | |||
| satisfaction | 2632.000 | 87 | 30.253 |
These are the follow-up ANOVAs, one per outcome, and SPSS doesn't correct them: compare each Sig. with .05 ÷ 2 = .025 yourself. The attachment and Error sums of squares are the diagonals of the H and E matrices. Box's Test of Equality of Covariance Matrices is also printed; read it alongside the group SDs rather than as a pass/fail gate.
Output laid out from this page's computed results, not captured from a live run; labels and layout may differ slightly in your version.
R
att <- read.csv("data.csv")
att$attachment <- factor(att$attachment, levels = c("secure", "anxious", "avoidant"))
fit <- manova(cbind(loneliness, satisfaction) ~ attachment, data = att)
summary(fit) # Pillai's trace is the default
summary(fit, test = "Wilks")
# Partial eta squared with a two-sided 95% CI (effectsize's default is one-sided)
effectsize::eta_squared(fit, alternative = "two.sided")
# Follow-up ANOVA on each outcome (compare each p with .025)
summary.aov(fit)
Df Pillai approx F num Df den Df Pr(>F)
attachment 2 0.13628 3.1808 4 174 0.01493 *
Residuals 87
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Df Wilks approx F num Df den Df Pr(>F)
attachment 2 0.86813 3.1506 4 172 0.01571 *
Residuals 87
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# Effect Size for ANOVA (Type I)
Parameter | Eta2 (partial) | 95% CI
------------------------------------------
attachment | 0.07 | [0.00, 0.13]
Response loneliness :
Df Sum Sq Mean Sq F value Pr(>F)
attachment 2 540 270.000 2.7087 0.07224 .
Residuals 87 8672 99.678
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Response satisfaction :
Df Sum Sq Mean Sq F value Pr(>F)
attachment 2 240 120.000 3.9666 0.02246 *
Residuals 87 2632 30.253
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Base R doesn't print partial η²; effectsize's eta_squared gives it, .07, from Pillai's trace (V ÷ s, .136 ÷ 2 = .068). Report that point estimate without the interval beside it: effectsize gets [.00, .13] by treating Pillai's approximate F as an exact noncentral F, and that interval's coverage for V ÷ s hasn't been established. summary(fit)$SS holds the H and E matrices, and MASS::lda(attachment ~ loneliness + satisfaction, data = att) runs the discriminant analysis.
Output from a real run: R 4.6.1 (stats, effectsize 1.0.3), run 2026-10-03.
Python
import pandas as pd
from statsmodels.multivariate.manova import MANOVA
att = pd.read_csv("data.csv")
fit = MANOVA.from_formula("loneliness + satisfaction ~ attachment", data=att)
print(fit.mv_test())
Multivariate linear model
===============================================================
---------------------------------------------------------------
Intercept Value Num DF Den DF F Value Pr > F
---------------------------------------------------------------
Wilks' lambda 0.0269 2.0000 86.0000 1558.3558 0.0000
Pillai's trace 0.9731 2.0000 86.0000 1558.3558 0.0000
Hotelling-Lawley trace 36.2408 2.0000 86.0000 1558.3558 0.0000
Roy's greatest root 36.2408 2.0000 86.0000 1558.3558 0.0000
---------------------------------------------------------------
---------------------------------------------------------------
attachment Value Num DF Den DF F Value Pr > F
---------------------------------------------------------------
Wilks' lambda 0.8681 4.0000 172.0000 3.1506 0.0157
Pillai's trace 0.1363 4.0000 174.0000 3.1808 0.0149
Hotelling-Lawley trace 0.1468 4.0000 102.1690 3.1451 0.0175
Roy's greatest root 0.0912 2.0000 87.0000 3.9685 0.0224
===============================================================
Read the attachment block, and ignore the Intercept block. statsmodels uses a different F approximation for the Hotelling-Lawley trace than SPSS, so its denominator df (102.17) differs; the other three rows match. For partial η², divide Pillai's trace by s = 2. Run each follow-up ANOVA with scipy.stats.f_oneway and compare its p with .025.
Output from a real run: Python 3.9.6 (statsmodels 0.14.6, pandas 2.3.3), run 2026-09-29.
Impact
Effect Size
Multivariate partial eta squared (η²p) expresses the result as the share of variation that lines up with the groups, averaged over the dimensions on which the groups can differ: the weighted blends of the outcomes described in Napkin Math step 4, not the outcomes' own scales. It isn't the share of the total raw variance in the outcomes, and it isn't either outcome's own η². SPSS computes it from Pillai's trace, so it can be compared across studies with the same number of outcomes and groups.
Averaged over the two dimensions on which the groups can differ, attachment style lines up with about 7% of the variation (.068), a medium effect by the borrowed benchmarks. That's not 7% of the raw variance in loneliness and satisfaction: each outcome's own η² is .06 for loneliness and .08 for satisfaction, and the similarity of the three numbers doesn't make them interchangeable. It can't go below 0, so even with no real difference it would average about .02 with groups and outcomes like ours. R's effectsize prints an interval for it, but by treating Pillai's approximate F as an exact noncentral F, a method whose coverage for V ÷ s hasn't been established, so we report the point estimate alone.
This number depends on which multivariate statistic it comes from: Wilks' lambda gives 1 − Λ^(1/s) = .07 here too, but the versions can drift apart, so say which one you report.
A single number hides the shape of the effect, so also give the size in each outcome's own units. Avoidant adults scored 4 points lower on satisfaction than secure adults, about 0.73 of the pooled SD of 5.50, and anxious adults 6 points higher on loneliness than secure adults, about 0.60 of the pooled SD of 9.98. Benchmarks are conventions. Whether gaps like these matter is a question about relationships, not statistics.
Benchmarks Multivariate Partial Eta Squared at a Glance
Statistical Significance
p answers one narrow question: if every group had the same population averages on every outcome, how often would Pillai's F come out at least this large? It measures how far apart the groups' mean vectors are relative to the variation and covariation within the groups. Only a large F counts against the null, so p comes from one tail, but it responds to differences on any outcome, in any direction, or in any combination. Below the conventional α = .05, the result is called statistically significant.
If the three attachment styles had the same average loneliness and satisfaction, a Pillai F of 3.18 or more would turn up about 1.5% of the time, roughly 1 in 67, under the test's assumptions. That's below .05, so it's significant.
The four multivariate statistics can give different p-values for the same data; pick one before looking, usually Pillai's trace, and report it. Here they range from .015 (Pillai) to .017 (Hotelling), and Roy's largest root gives .022, a lower bound on its true p.
p is not the probability that the null hypothesis is true, and it says nothing about how large the differences are, which groups differ, or on which outcomes. That's what η²p and the follow-ups are for. With three or more outcomes, a significant MANOVA also doesn't make the follow-up ANOVAs safe to run uncorrected (Huberty & Morris, 1989). With exactly two it does: the MANOVA tests both outcomes' nulls together, so an ANOVA run only after it rejects keeps the overall false-positive rate at α if the assumptions hold.
Benchmarks p at a Glance
Strength of evidence against the null hypothesis.
Power and Sample Size
Power is the chance that a study detects an effect that's really there. A real effect doesn't guarantee a significant result: with too few people, it can easily come out non-significant. For a MANOVA, power depends on how far apart the groups' mean vectors are, how many people are in each group, how many groups and outcomes there are, α, and the correlations between the outcomes.
Because it needs a whole pattern of means and correlations rather than one effect size, there's no calculator on this page. Plan it by simulation: write down the smallest pattern of group means that would matter, plus plausible SDs and correlations, generate many datasets from it, and count how often the MANOVA comes out significant.
Suppose, for planning, that the true differences between styles followed our pattern but were only half as large, with the same spreads (SDs of about 10 and 5.5) and the same −.40 correlation between the outcomes. In 20,000 simulated studies with 30 adults per style, only 24% came out significant. It would take about 115 per style, around 345 adults in all, to reach 80%.
Don't plan the next study from our observed effect: with 30 per group it's a noisy estimate, and η²p runs a little high to begin with. And don't compute power at the effect you just observed to explain a result: that "observed power" is only a restatement of the p-value and adds nothing. Also remember that power for the MANOVA isn't power for the follow-ups, which is lower for any single outcome or pair of groups.
Researchers usually aim for at least 80% power. Plan it before collecting data, using the smallest effect that would matter.
Other Info
Follow-Up and Post Hoc Tests
Post Hoc Tests
- Descriptive Discriminant Analysis: The multivariate follow-up: it shows which combinations of outcomes separate the groups (Warne, 2014). In the attachment study the first function (62% of the separation) is essentially satisfaction and puts secure and avoidant people at opposite ends. The second (38%), an exploratory dimension the data chose, sets anxious people apart: they're lonelier than their satisfaction would predict. That's a different measure from raw loneliness, chosen by the data, so treat it as exploratory. Bartlett's test of what remains once the first function is removed gives χ²(1) = 4.68, p = .031; it isn't a separate test of the second function on its own.
- Bonferroni Correction: The usual way to follow up outcome by outcome: an ANOVA on each outcome at α ÷ (number of outcomes). For our two outcomes, α = .025: satisfaction differs, F(2, 87) = 3.97, p = .022; loneliness doesn't reach it, F(2, 87) = 2.71, p = .072.
- Holm Correction: Gives the same protection as Bonferroni with more power. Here it agrees: .022 clears .025, and .072 doesn't clear .05.
- Tukey's HSD: Once an outcome's ANOVA is significant, compare pairs of groups on it. On satisfaction, avoidant people scored 4.00 points below secure people, 95% CI [0.61, 7.39], p = .016; the anxious group didn't differ reliably from either (both p = .341).
References
- Wilks, S. S. (1932). Certain generalizations in the analysis of variance. Biometrika, 24(3–4), 471–494. https://doi.org/10.1093/biomet/24.3-4.471
-
Pillai, K. C. S. (1955). Some new test criteria in multivariate analysis. The Annals of Mathematical Statistics, 26(1), 117–121.
https://doi.org/10.1214/aoms/1177728599
“Three new test criteria are proposed for overall tests of hypotheses in multivariate analysis.” (Abstract)
-
Olson, C. L. (1974). Comparative robustness of six tests in multivariate analysis of variance. Journal of the American Statistical Association, 69(348), 894–908.
https://doi.org/10.1080/01621459.1974.10480224
“the Pillai-Bartlett trace test may be recommended as the most robust of the MANOVA tests, with adequate power to detect true differences in a variety of situations” (Abstract, p. 894)
-
Huberty, C. J., & Morris, J. D. (1989). Multivariate analysis versus multiple univariate analyses. Psychological Bulletin, 105(2), 302–308.
https://doi.org/10.1037/0033-2909.105.2.302
“The argument for preceding multiple analysis of variance (ANOVAS) with a multivariate analysis of variance (MANOVA) to control for Type I error is challenged.” (Abstract)
-
Huang, F. L. (2020). MANOVA: A procedure whose time has passed? Gifted Child Quarterly, 64(1), 56–60.
https://doi.org/10.1177/0016986219887200
“Just because a researcher has multiple dependent variables of interest does not mean that a MANOVA should be used at all.” (Abstract)
- Warne, R. T. (2014). A primer on multivariate analysis of variance (MANOVA) for behavioral scientists. Practical Assessment, Research & Evaluation, 19(17), 1–10. https://doi.org/10.7275/sm63-7h70
- Cohen, J. (1988). Statistical power analysis for the behavioral sciences (2nd ed.). Lawrence Erlbaum Associates.
- Cohen, J. (1973). Eta-squared and partial eta-squared in fixed factor ANOVA designs. Educational and Psychological Measurement, 33(1), 107–112. https://doi.org/10.1177/001316447303300111
- Pierce, C. A., Block, R. A., & Aguinis, H. (2004). Cautionary note on reporting eta-squared values from multifactor ANOVA designs. Educational and Psychological Measurement, 64(6), 916–924. https://doi.org/10.1177/0013164404264848
-
Lakens, D. (2013). Calculating and reporting effect sizes to facilitate cumulative science: A practical primer for t-tests and ANOVAs. Frontiers in Psychology, 4, 863.
https://doi.org/10.3389/fpsyg.2013.00863
“using these benchmarks when interpreting the η2p effect size in designs that include covariates or repeated measures is not consistent with the considerations upon which the benchmarks were based” (Eta-squared in between and within-subjects comparisons)
-
Muff, S., Nilsen, E. B., O'Hara, R. B., & Nater, C. R. (2022). Rewriting results sections in the language of evidence. Trends in Ecology & Evolution, 37(3), 203–210.
https://doi.org/10.1016/j.tree.2021.10.009
“we suggest language of evidence that allows for a more nuanced approach to communicate scientific findings as a simple and intuitive alternative to statistical significance testing” (Abstract)
- Box, G. E. P. (1949). A general distribution theory for a class of likelihood criteria. Biometrika, 36(3–4), 317–346. https://doi.org/10.1093/biomet/36.3-4.317
-
Friendly, M., & Sigal, M. (2020). Visualizing tests for equality of covariance matrices. The American Statistician, 74(2), 144–155.
https://doi.org/10.1080/00031305.2018.1497537
“Box's test is well-known to be highly sensitive to violation of (multivariate) normality and the presence of outliers.” (Section 1.3)
Spot an error? Something still confusing? Tell us at support@statsforpsychology.com.