UK-based online statistics and data analysis support for USA, UK, and international clients. No exams, no impersonation, no fabricated data.
ANOVA Family

MANOVA: Formula, Multivariate ANOVA, SPSS, Python, R and Excel Guide

Multivariate ANOVA, Multiple Dependent Variables, Wilks Lambda, Pillai Trace and Follow-up ANOVA MANOVA: Formula, Multivariate ANOVA, SPSS, Python, R and Excel Guide MANOVA, or Multivariate Analysis...

Statistics guide Ethical learning support SPSS/R/Python/Excel friendly
MANOVA: Formula, Multivariate ANOVA, SPSS, Python, R and Excel Guide

Multivariate ANOVA, Multiple Dependent Variables, Wilks Lambda, Pillai Trace and Follow-up ANOVA

MANOVA: Formula, Multivariate ANOVA, SPSS, Python, R and Excel Guide

MANOVA, or Multivariate Analysis of Variance, tests whether groups differ across several related dependent variables at the same time. In this worked example, G1, G2 and G3 are the dependent variables, and the grouping factor has four levels. The output includes multivariate mean profiles, group mean heatmap, confidence intervals, Wilks’ lambda, Pillai’s trace, Hotelling-Lawley trace, Roy’s greatest root, follow-up univariate ANOVA p-values, multivariate score scatter, dependent-variable correlation matrix, summary table, SPSS output, Python report, R validation report and Excel support workflow.

Advertisement
Google AdSense top placement reserved here

Quick Answer: MANOVA Result

The worked MANOVA example shows clear multivariate mean differences across the four factor groups. Group 1 has the lowest profile across G1, G2 and G3. Group 2 is higher than group 1. Groups 3 and 4 are in the highest range, with group 3 ending highest at G3 and group 4 staying high across all three outcomes.

The multivariate test p-value chart shows that all four multivariate tests are far below the alpha line at 0.05. The p-values are Wilks’ lambda = 6.197e-09, Pillai’s trace = 9.861e-09, Hotelling-Lawley trace = 5.075e-09, and Roy’s greatest root = 4.557e-11. The follow-up univariate ANOVA p-values are also below .05 for all three outcomes: G1 = 3.467e-10, G2 = 4.017e-09, and G3 = 5.706e-10.

MethodMANOVA
Dependent variablesG1, G2, G3
Factor groups1, 2, 3, 4
DecisionSignificant

Wilks’ lambda p6.197e-09
Pillai trace p9.861e-09
Hotelling-Lawley p5.075e-09
Roy root p4.557e-11

G1 follow-up p3.467e-10
G2 follow-up p4.017e-09
G3 follow-up p5.706e-10
Alpha0.05

G1-G2 correlation0.86
G2-G3 correlation0.92
G1-G3 correlation0.83
Outcome relationStrong

Final interpretation: The MANOVA result is statistically significant. The four factor groups differ across the combined dependent-variable profile of G1, G2 and G3. The dependent variables are strongly correlated, which supports using a multivariate method, and the follow-up univariate ANOVA p-values show that each outcome contributes to the group difference.

Important reporting point: MANOVA should be reported first as a multivariate test. The follow-up ANOVA p-values are used after the multivariate result to identify which dependent variables help drive the overall group separation.

Table of Contents

  1. What Is MANOVA?
  2. MANOVA Formula
  3. MANOVA Hypotheses
  4. Dataset and Variables Used
  5. Python Chart-by-Chart Interpretation
  6. R Chart-by-Chart Validation
  7. SPSS Output and Report PDFs
  8. SPSS, R, Python and Excel Workflows
  9. Code Blocks for MANOVA
  10. APA Reporting Wording
  11. Common Mistakes
  12. When to Use MANOVA
  13. Downloads and Resources
  14. Related Guides
  15. FAQs

What Is MANOVA?

MANOVA stands for Multivariate Analysis of Variance. It is used when one categorical grouping factor is compared across more than one related numeric dependent variable. Instead of testing G1, G2 and G3 separately from the start, MANOVA tests whether the combined outcome profile differs by group.

In this example, the dependent variables are G1, G2 and G3. These outcomes are strongly related. The correlation chart shows that G1 and G2 correlate at 0.86, G2 and G3 correlate at 0.92, and G1 and G3 correlate at 0.83. Because the dependent variables are conceptually related and statistically correlated, MANOVA is more suitable than treating the outcomes as unrelated tests.

The group mean profile chart shows the practical direction of the result. Group 1 is lowest across the outcome profile. Group 2 is higher. Group 3 and group 4 stay in the highest range, with group 3 reaching the highest G3 mean. This profile separation explains why the multivariate p-values are extremely small.

Simple definition: MANOVA tests whether groups differ across a set of related dependent variables. In this worked example, the four factor groups differ across the combined profile of G1, G2 and G3.

MANOVA connects closely with ANOVA in Python, ANOVA in R, ANOVA in SPSS, ANOVA Assumptions, ANCOVA, Effect Size, P Value, and Null and Alternative Hypothesis.

MANOVA Formula

MANOVA is a multivariate version of ANOVA. Instead of one dependent variable, the model uses a vector of dependent variables.

[Y1, Y2, Y3] = Group + Error

For this worked example, the model becomes:

[G1, G2, G3] = factor group + error

The model tests whether the mean vector for G1, G2 and G3 differs across the four factor groups. A mean vector is a set of means rather than one single mean. MANOVA therefore tests group separation across the overall grade profile.

Multivariate Test Statistics

Wilks’ Lambda, Pillai’s Trace, Hotelling-Lawley Trace and Roy’s Greatest Root

The four multivariate tests use different mathematical summaries of group separation. In this output, all four tests reach the same decision because all four p-values are far below .05.

Follow-up Univariate ANOVA

Gk = group + error

After a significant MANOVA, each dependent variable can be tested separately with follow-up ANOVA. In the supplied follow-up chart, G1, G2 and G3 all have p-values far below .05, meaning all three outcomes contribute to the multivariate difference.

MANOVA ComponentValue or Pattern in This OutputMeaningInterpretation
Outcome vectorG1, G2, G3Multiple dependent variables.Grades are tested as a combined profile.
Grouping factorGroups 1, 2, 3, 4Four groups compared on the outcome vector.Group profiles differ.
Wilks’ lambda p6.197e-09Multivariate group separation test.Significant.
Pillai’s trace p9.861e-09Robust multivariate test.Significant.
Hotelling-Lawley p5.075e-09Multivariate test based on explained-root structure.Significant.
Roy’s greatest root p4.557e-11Largest-root multivariate test.Significant.

MANOVA Hypotheses

The MANOVA null hypothesis says that the groups have the same mean vector across all dependent variables. The alternative hypothesis says that at least one group differs on the combined dependent-variable profile.

Hypothesis AreaNull HypothesisAlternative HypothesisEvidence in This Output
Multivariate group profileGroups have equal mean vectors for G1, G2 and G3.At least one group has a different mean vector.All four multivariate p-values are far below .05.
Follow-up G1Groups have equal mean G1.At least one group differs on G1.p = 3.467e-10.
Follow-up G2Groups have equal mean G2.At least one group differs on G2.p = 4.017e-09.
Follow-up G3Groups have equal mean G3.At least one group differs on G3.p = 5.706e-10.

Decision for this example: Reject the multivariate equal-profile null hypothesis. The factor groups differ significantly across the combined G1, G2 and G3 profile. Follow-up tests show that the difference is present for each individual grade outcome.

Dataset and Variables Used

The worked example uses student performance data. The dependent variables are G1, G2 and G3. The factor group has four levels. MANOVA is appropriate here because the dependent variables measure related grade outcomes and are strongly correlated.

Variable or OutputRoleWhy It MattersWhere It Appears
G1Dependent variableFirst grade outcome in the multivariate profile.Mean profile, heatmap, confidence intervals, follow-up ANOVA and correlation matrix.
G2Dependent variableSecond grade outcome strongly related to G1 and G3.Mean profile, heatmap, confidence intervals, follow-up ANOVA and correlation matrix.
G3Dependent variableFinal grade outcome and key performance variable.Mean profile, heatmap, confidence intervals, follow-up ANOVA and correlation matrix.
Factor groupGrouping variableDefines the four groups compared by MANOVA.Mean profile, heatmap, confidence intervals and score scatter.
Multivariate p-valuesMain MANOVA decisionTests combined group separation.Wilks, Pillai, Hotelling-Lawley and Roy charts.
Correlation matrixOutcome relationship checkShows whether dependent variables belong together.Correlation chart.

For supporting background, review Descriptive Statistics, Mean Median and Mode, Standard Deviation, Variance, Confidence Interval, Effect Size, P Value, and Parametric vs Nonparametric Tests.

Advertisement
Google AdSense middle placement reserved here

Python Chart-by-Chart Interpretation

The Python chart sequence explains the MANOVA result through mean profiles, heatmap values, confidence intervals, multivariate test p-values, follow-up univariate ANOVA p-values, multivariate score scatter, dependent-variable correlation and summary table.

Python Chart 1: MANOVA Group Mean Profile

MANOVA Python group mean profile across G1 G2 and G3
Python chart showing the multivariate mean profile for G1, G2 and G3 by factor group.

This chart shows how the four groups behave across the three dependent variables. Group 1 stays lowest across G1, G2 and G3, moving from about 10.50 to 10.84. Group 2 is consistently higher than group 1 and rises from about 11.54 to 12.09.

Group 3 and group 4 are the high-profile groups. Group 3 rises from about 12.42 at G1 to about 13.23 at G3. Group 4 starts high at about 12.77, dips slightly around G2, and then rises to about 13.06 at G3.

The chart supports the MANOVA decision because the lines do not overlap into one common profile. The groups differ across the outcome pattern, not only at one isolated dependent variable.

Python Chart 2: MANOVA Group Means Heatmap

MANOVA Python group means heatmap for G1 G2 and G3
Python heatmap comparing group means across all dependent variables.

The heatmap gives the exact group mean pattern in a compact format. Group 1 has means of 10.50 for G1, 10.70 for G2 and 10.84 for G3. Group 2 has 11.54, 11.66 and 12.09. Group 3 has 12.42, 12.79 and 13.23. Group 4 has 12.77, 12.63 and 13.06.

The color intensity increases as the group means rise. Group 1 is darkest across the row, while groups 3 and 4 show the highest color range. This confirms that the multivariate result is supported by an ordered mean pattern across the dependent variables.

The heatmap is useful for reporting because it connects the multivariate decision to actual observed means. Readers can see that the significant MANOVA is driven by consistent group-level differences across G1, G2 and G3.

Python Chart 3: MANOVA Group Means with 95% Confidence Intervals

MANOVA Python group means with confidence intervals
Python chart showing group means with 95% confidence intervals for G1, G2 and G3.

The confidence interval chart shows the precision around the group means. Group 1 is in the lowest score range across all three outcomes, while group 3 and group 4 are in the highest range. The separation between lower and higher groups is visible across the outcome set.

Group 4 has wider confidence intervals than the other groups, especially for G1 and G3. That means its mean estimates are less precise, but the group still remains in the high outcome range.

The chart supports the multivariate conclusion because the confidence intervals do not show a flat or identical group pattern. The group mean differences are visible across G1, G2 and G3.

Python Chart 4: MANOVA Multivariate Test P-Values

MANOVA Python multivariate test p values for Wilks Pillai Hotelling Lawley and Roy
Python chart showing Wilks’ lambda, Pillai’s trace, Hotelling-Lawley trace and Roy’s greatest root p-values.

This chart provides the main MANOVA decision. All four p-values are far below the alpha line at 0.05. Wilks’ lambda is 6.197e-09, Pillai’s trace is 9.861e-09, Hotelling-Lawley trace is 5.075e-09, and Roy’s greatest root is 4.557e-11.

The four tests use different multivariate criteria, but they all lead to the same result in this analysis. The factor groups differ significantly across the combined dependent-variable set.

This chart should be the first formal statistical result reported for MANOVA. The follow-up univariate ANOVA results come after this multivariate decision.

Python Chart 5: Follow-up Univariate ANOVA P-Values

MANOVA Python follow-up univariate ANOVA p values for G1 G2 G3
Python chart showing follow-up ANOVA p-values for G1, G2 and G3.

This chart shows which individual dependent variables support the multivariate result. The follow-up p-values are G1 = 3.467e-10, G2 = 4.017e-09 and G3 = 5.706e-10.

All three p-values are far below the alpha line at .05. This means group differences are not limited to only one grade outcome. G1, G2 and G3 each show significant univariate group differences.

This chart explains the source of the MANOVA result. The overall multivariate difference is supported by all three outcomes, so the report can state that each grade measure contributes to the group separation.

Python Chart 6: MANOVA Multivariate Score Scatter

MANOVA Python multivariate score scatter using principal component scores
Python scatter chart showing principal-component score separation across groups.

This scatterplot compresses the dependent-variable set into multivariate score space. Component 1 explains most of the displayed variation, with about 91.3% of the variance. Component 2 explains about 6.1%.

The group points overlap, but their locations are not identical. Group 1 has more points on the lower side of the first component, while groups 3 and 4 appear more toward the higher-score region. Group 2 spreads across the middle and also includes some lower-side cases.

The scatterplot supports the idea that MANOVA detects profile-level separation rather than perfect visual separation. The groups overlap at the student level, but their multivariate mean profiles differ strongly enough to produce significant MANOVA tests.

Python Chart 7: Dependent Variable Correlation Matrix

MANOVA Python dependent variable correlation matrix for G1 G2 G3
Python correlation matrix showing relationships among G1, G2 and G3.

The correlation matrix confirms that the dependent variables are strongly related. G1 and G2 correlate at 0.86, G2 and G3 correlate at 0.92, and G1 and G3 correlate at 0.83.

These strong positive correlations support the use of MANOVA. The dependent variables belong together conceptually and statistically, so testing them as a combined profile is appropriate.

The correlation chart also shows why multiple separate ANOVAs would be incomplete as the first analysis. The outcomes are not independent pieces of information; they form a related grade pattern.

Python Chart 8: MANOVA Summary Table

MANOVA Python summary table with multivariate and follow-up results
Python summary table combining MANOVA decision information and follow-up result context.

The summary table brings the main MANOVA evidence into one output. It should be used as the final quick-reference chart after the profile, p-value and correlation charts have been explained.

The table supports the same overall conclusion as the individual charts: the multivariate group difference is significant, the dependent variables are strongly related, and the follow-up outcome tests show significant group differences for G1, G2 and G3.

In reporting, this summary table is useful for readers who want the statistical conclusion without reviewing every figure separately. It should appear after the detailed chart explanations, not before them.

R Chart-by-Chart Validation

The R validation charts repeat the MANOVA workflow in a second software environment. They confirm the same group mean profile, heatmap pattern, confidence-interval context, multivariate p-value decision, follow-up ANOVA results, score scatter pattern, correlation structure and summary result.

R Chart 1: MANOVA Group Mean Profile

MANOVA R group mean profile across G1 G2 and G3
R validation chart showing the multivariate mean profile for G1, G2 and G3 by factor group.

The R mean profile confirms the same pattern as the Python chart. Group 1 stays lowest across G1, G2 and G3, while groups 3 and 4 remain in the high-score range.

The upward movement across G1, G2 and G3 is visible for most groups. The separation between the low profile of group 1 and the high profiles of groups 3 and 4 supports the same MANOVA interpretation.

This validation chart confirms that the multivariate group profile is stable across software workflows.

R Chart 2: MANOVA Group Means Heatmap

MANOVA R group means heatmap for G1 G2 G3
R validation heatmap comparing group means across all dependent variables.

The R heatmap confirms the same mean values and color pattern. Group 1 is lowest, group 2 is higher, and groups 3 and 4 appear in the highest mean range.

The highest G3 value appears for group 3, while group 4 remains close to that high range. This confirms that the multivariate difference is not created by only one charting method.

The heatmap should be used as a compact validation output in the final article because it confirms the group-by-outcome mean structure.

R Chart 3: MANOVA Confidence Intervals

MANOVA R group means with confidence intervals
R validation chart showing group means with 95% confidence intervals.

The R confidence interval chart confirms that group 1 is centered in the lowest range and that groups 3 and 4 are centered higher. The interval widths vary across groups, with group 4 again showing wider uncertainty.

This validates the Python confidence interval interpretation. The differences are visible across G1, G2 and G3, but precision is not identical for every group.

The chart supports careful reporting: the group profiles differ, while uncertainty should still be shown through confidence intervals.

R Chart 4: MANOVA Multivariate Test P-Values

MANOVA R multivariate p values for Wilks Pillai Hotelling Lawley and Roy
R validation chart showing the four multivariate MANOVA p-values.

The R p-value chart confirms the same multivariate decision. Wilks’ lambda, Pillai’s trace, Hotelling-Lawley trace and Roy’s greatest root are all far below the .05 alpha line.

The agreement among all four multivariate tests makes the decision straightforward. The groups differ across the combined dependent-variable profile.

This chart validates the statistical conclusion from the Python workflow and supports strong MANOVA reporting.

R Chart 5: Follow-up Univariate ANOVA P-Values

MANOVA R follow-up univariate ANOVA p values
R validation chart showing follow-up univariate ANOVA p-values for G1, G2 and G3.

The R follow-up chart confirms that G1, G2 and G3 all have p-values far below .05. The outcome-specific results therefore support the overall MANOVA finding.

This chart is important because it shows that the multivariate result is not driven by only one dependent variable. Each grade outcome contributes to group separation.

In final reporting, the multivariate result should be reported first, followed by these outcome-level p-values as follow-up evidence.

R Chart 6: MANOVA Multivariate Score Scatter

MANOVA R multivariate score scatter using principal component scores
R validation score scatter showing group positions in reduced multivariate space.

The R score scatter confirms the same practical pattern as the Python scatter. Individual observations overlap across groups, but group distributions are not identical in multivariate score space.

The overlap matters because MANOVA tests group mean vectors, not perfect classification of every case. The scatter therefore supports a realistic interpretation: there is significant group separation at the profile level, while individual scores still vary.

This chart should be used as a visual supplement, not as the main decision. The formal decision comes from the multivariate p-values.

R Chart 7: Dependent Variable Correlation Matrix

MANOVA R dependent variable correlation matrix for G1 G2 G3
R validation correlation matrix showing relationships among the dependent variables.

The R correlation matrix confirms the same strong relationship among G1, G2 and G3. The correlations remain high and positive across all pairs.

This validates the basic reason for using MANOVA. The dependent variables form a related grade set rather than unrelated outcome columns.

The chart should be discussed before or near the MANOVA result because it explains why the multivariate method is appropriate.

R Chart 8: MANOVA Summary Table

MANOVA R summary table
R validation summary table for MANOVA and follow-up interpretation.

The R summary table confirms the final MANOVA decision and follow-up context. It should be used as a compact validation table after the reader has seen the profile, p-value and correlation charts.

This table supports the same article conclusion: the four groups have significantly different multivariate profiles across G1, G2 and G3.

Because the R and Python charts agree, the result can be reported as a stable MANOVA finding rather than a software-specific output.

SPSS Output and Report PDFs

The supplied PDF files support the MANOVA workflow. The Python report provides the first chart set, the R report validates the same chart sequence, and the SPSS output PDF provides the menu-based multivariate test output for publication support.

Download MANOVA Python Report PDF

Download MANOVA R Report PDF

Download MANOVA SPSS Output PDF

Output Items to Read

Output ItemWhat It ShowsHow It Is UsedReporting Meaning
Group mean profileMean G1, G2 and G3 by group.Shows multivariate profile direction.Group 1 is lowest; groups 3 and 4 are highest.
Mean heatmapExact group means for each outcome.Connects MANOVA decision to actual mean values.Group means rise across the factor groups.
Confidence intervalsMean precision for each outcome and group.Shows uncertainty around mean estimates.Group 4 has wider intervals.
Multivariate p-valuesWilks, Pillai, Hotelling-Lawley and Roy tests.Gives the main MANOVA decision.All tests are significant.
Follow-up ANOVA p-valuesOutcome-specific group differences.Shows which outcomes contribute.G1, G2 and G3 are all significant.
Score scatterMultivariate score-space pattern.Visualizes overlap and group separation.Groups overlap but profiles differ.
Correlation matrixRelationships among dependent variables.Justifies MANOVA as a multivariate method.G1, G2 and G3 are strongly correlated.

Report interpretation summary: The MANOVA output supports a significant multivariate group difference across G1, G2 and G3. The dependent variables are strongly correlated, the group mean profiles differ, the multivariate p-values are far below .05, and the follow-up ANOVA p-values are significant for all three outcomes.

Advertisement
Google AdSense in-content placement reserved here

SPSS, R, Python and Excel Workflows for MANOVA

The same MANOVA workflow can be reproduced in SPSS, R and Python. Excel can help prepare descriptive summaries, profile charts, heatmaps and correlations, but the formal MANOVA model should be run in SPSS, R or Python.

SPSS Workflow

StepSPSS Menu or SyntaxPurpose
Open dataFile > Open > DataLoad G1, G2, G3 and factor group.
Run GLM MultivariateAnalyze > General Linear Model > MultivariateFit MANOVA.
Set dependent variablesDependent Variables: G1, G2, G3Define the outcome vector.
Set fixed factorFixed Factor: groupDefine the group comparison.
Request descriptivesOptions > Descriptive statisticsShow group means and sample summaries.
Request effect sizeOptions > Estimates of effect sizeSupport practical interpretation.
Review multivariate testsWilks, Pillai, Hotelling-Lawley, RoyReport main MANOVA decision.
Review tests of between-subjects effectsUnivariate ANOVA tableReport follow-up outcome results.

R Workflow

StepR ActionPurpose
Read dataread.csv("dataset.csv")Load dataset.
Define factoras.factor(group)Tell R that the grouping variable is categorical.
Fit MANOVAmanova(cbind(G1, G2, G3) ~ group)Run multivariate model.
Read multivariate testsummary(model, test="Pillai")Get multivariate p-value.
Read Wilks testsummary(model, test="Wilks")Alternative multivariate test.
Follow-up ANOVAsummary.aov(model)Get univariate outcome tests.
Correlation matrixcor(df[,c("G1","G2","G3")])Check outcome relationships.

Python Workflow

StepPython ActionPurpose
Read datapandas.read_csv()Load dataset.
Fit MANOVAMANOVA.from_formula("G1 + G2 + G3 ~ C(group)")Run multivariate model.
Read multivariate testsmv_test()Get Wilks, Pillai, Hotelling-Lawley and Roy results.
Follow-up ANOVAsols("G1 ~ C(group)")Test each outcome separately.
Correlation matrixdf[["G1","G2","G3"]].corr()Check dependent-variable relationships.
Score scatterPCA or multivariate score plotVisualize group separation.

Excel Workflow

Excel TaskFormula or ToolPurpose
Clean variablesKeep G1, G2, G3 and groupPrepare MANOVA dataset.
Mean profilePivotTable means by groupCreate multivariate mean profile chart.
HeatmapConditional formattingShow group means by outcome.
Confidence intervalsMean ± t critical × standard errorSummarize uncertainty around group means.
Correlation matrix=CORREL(range1,range2)Check relationships among G1, G2 and G3.
Formal MANOVAUse SPSS, R or PythonExcel is not recommended for the full MANOVA test.

Code Blocks for MANOVA

SPSS Syntax for MANOVA

* MANOVA in SPSS.
* Dependent variables: G1 G2 G3.
* Fixed factor: group.

TITLE "MANOVA: G1 G2 G3 by Factor Group".

GLM G1 G2 G3 BY group
  /METHOD=SSTYPE(3)
  /INTERCEPT=INCLUDE
  /PRINT=DESCRIPTIVE ETASQ HOMOGENEITY
  /PLOT=PROFILE(group)
  /CRITERIA=ALPHA(.05)
  /DESIGN=group.

OUTPUT EXPORT
  /CONTENTS EXPORT=VISIBLE
  /PDF DOCUMENTFILE="manova_output.pdf".

Python Code for MANOVA

import pandas as pd
import statsmodels.api as sm
from statsmodels.multivariate.manova import MANOVA
from statsmodels.formula.api import ols

df = pd.read_csv("dataset.csv")

for col in ["G1", "G2", "G3"]:
    df[col] = pd.to_numeric(df[col], errors="coerce")

df["group"] = df["group"].astype("category")
df_model = df.dropna(subset=["G1", "G2", "G3", "group"]).copy()

# MANOVA model
manova_model = MANOVA.from_formula("G1 + G2 + G3 ~ C(group)", data=df_model)
print(manova_model.mv_test())

# Follow-up univariate ANOVAs
for outcome in ["G1", "G2", "G3"]:
    model = ols(f"{outcome} ~ C(group)", data=df_model).fit()
    anova_table = sm.stats.anova_lm(model, typ=2)
    print("\nOutcome:", outcome)
    print(anova_table)

# Group means
group_means = df_model.groupby("group")[["G1", "G2", "G3"]].mean()
print(group_means)

# Correlation matrix among dependent variables
corr = df_model[["G1", "G2", "G3"]].corr()
print(corr)

R Code for MANOVA

df <- read.csv("dataset.csv")

df$G1 <- as.numeric(df$G1)
df$G2 <- as.numeric(df$G2)
df$G3 <- as.numeric(df$G3)
df$group <- as.factor(df$group)

df_model <- na.omit(df[, c("G1", "G2", "G3", "group")])

# MANOVA model
model <- manova(cbind(G1, G2, G3) ~ group, data = df_model)

summary(model, test = "Pillai")
summary(model, test = "Wilks")
summary(model, test = "Hotelling-Lawley")
summary(model, test = "Roy")

# Follow-up univariate ANOVAs
summary.aov(model)

# Group means
aggregate(cbind(G1, G2, G3) ~ group, data = df_model, mean)

# Correlation matrix
cor(df_model[, c("G1", "G2", "G3")])

Excel Notes for MANOVA

Excel can support MANOVA reporting, but it should not be used as the main MANOVA engine.

Useful Excel steps:
1. Create a PivotTable with group as rows and mean G1, G2, G3 as values.
2. Create a line chart for the group mean profile.
3. Create a heatmap with conditional formatting.
4. Calculate dependent-variable correlations:
   =CORREL(G1_range,G2_range)
   =CORREL(G2_range,G3_range)
   =CORREL(G1_range,G3_range)
5. Run the formal MANOVA in SPSS, R or Python.
6. Use Excel only for summary tables, charts and reporting support.

APA Reporting Wording

When reporting MANOVA, state the dependent variables, the grouping factor, the multivariate test result and the follow-up univariate ANOVA results. The dependent variables should be described as a related outcome set.

APA-style report: A MANOVA was used to test whether the four factor groups differed across the combined dependent-variable profile of G1, G2 and G3. The multivariate result was statistically significant across Wilks’ lambda, Pillai’s trace, Hotelling-Lawley trace and Roy’s greatest root, with all p-values far below .05. Follow-up univariate ANOVAs were also significant for G1, G2 and G3. Group 1 showed the lowest mean profile, group 2 was higher, and groups 3 and 4 showed the highest grade profiles.

Short reporting version: The MANOVA showed a significant group difference across the combined G1, G2 and G3 profile. Follow-up ANOVAs were significant for G1, G2 and G3, confirming that all three outcomes contributed to the multivariate result.

Common Mistakes

MistakeWhy It Is WrongCorrect Practice
Running separate ANOVAs firstMANOVA is designed to test the combined dependent-variable profile.Report the multivariate test first, then follow-up ANOVAs.
Ignoring dependent-variable correlationsMANOVA is useful when outcomes are related.Check and report the correlation matrix.
Reporting only Wilks’ lambdaDifferent multivariate tests may provide useful confirmation.Mention Wilks, Pillai, Hotelling-Lawley and Roy when available.
Claiming perfect group separationThe score scatter shows overlap among individual cases.Report group-profile separation, not perfect classification.
Skipping follow-up testsA significant MANOVA does not show which outcomes drive the effect.Use follow-up ANOVAs and report outcome p-values.
Ignoring assumptionsMANOVA depends on multivariate and univariate assumptions.Review ANOVA Assumptions, Q-Q Plot Normality Check, Levene Test, and Outlier Detection.

When to Use MANOVA

Use MANOVA when the analysis has one or more categorical grouping factors and two or more related numeric dependent variables. It is useful when the research question is about group differences across a combined outcome profile.

SituationUse MANOVA?Reporting Note
One categorical factor and several related numeric outcomesYesTest group mean vectors.
Outcomes are strongly correlated and conceptually relatedYesMANOVA is suitable for combined profile testing.
Only one dependent variableNoUse ANOVA instead.
Need to control a covariateUse MANCOVAMANOVA does not include covariate adjustment unless expanded.
Outcome variables are unrelatedUse cautionSeparate models may be easier to justify.

For related guides, see ANCOVA, ANOVA in Python, ANOVA in R, ANOVA in SPSS, ANOVA Effect Size, Balanced ANOVA, Brown Forsythe ANOVA, Cohen’s F Formula, Effect Size, and T Test vs ANOVA.

Downloads and Resources for MANOVA

Use these resources to reproduce the MANOVA workflow. The Python report, R report and SPSS output PDF are included as verification files. Script and workbook placeholders can be replaced after the final downloadable files are uploaded to the WordPress Media Library.

FAQs About MANOVA

What is MANOVA?

MANOVA is Multivariate Analysis of Variance. It tests whether groups differ across two or more related numeric dependent variables at the same time.

What variables were used in this MANOVA example?

The dependent variables were G1, G2 and G3. The grouping factor had four levels.

Why use MANOVA instead of ANOVA?

MANOVA is used because there are multiple related outcomes. G1, G2 and G3 are strongly correlated, so a multivariate test is appropriate.

What did the group mean profile show?

The group mean profile showed that group 1 had the lowest scores across G1, G2 and G3, group 2 was higher, and groups 3 and 4 were in the highest score range.

Were the MANOVA multivariate tests significant?

Yes. Wilks’ lambda, Pillai’s trace, Hotelling-Lawley trace and Roy’s greatest root all had p-values far below .05.

Were the follow-up ANOVAs significant?

Yes. The follow-up univariate ANOVA p-values were significant for G1, G2 and G3.

What did the correlation matrix show?

The correlation matrix showed strong positive correlations among G1, G2 and G3, with values around 0.83 to 0.92.

Can MANOVA be done in Excel?

Excel can prepare descriptive summaries, profile charts, heatmaps and correlations, but the formal MANOVA model should be run in SPSS, R or Python.

Can MANOVA be done in SPSS?

Yes. Use Analyze > General Linear Model > Multivariate, enter G1, G2 and G3 as dependent variables, and enter the grouping factor as a fixed factor.

How do I report this MANOVA in APA style?

A concise report is: A MANOVA showed a significant group difference across the combined G1, G2 and G3 profile. Follow-up ANOVAs were significant for G1, G2 and G3, confirming that all three outcomes contributed to the multivariate result.

Need help applying this to your own data?

Salar Cafe can help interpret output, clean datasets, review assumptions, build dashboards and explain statistical results ethically.

Need help interpreting your data analysis results?

Contact Salar Cafe
Engr. Muhammad Yar Saqib author profile photo

Engr. Muhammad Yar Saqib

WhatsApp Get Data Analysis Help