Atlas
statminds
Multivariate GLM (Omnibus Vector Model)The underlying model family class (e.g. GLM, linear model, categorical matrix, log-linear).Parametric ReferenceStatistical methods that assume a specific probability distribution family (typically normal).12-stage workflow

One-Way MANOVA

The engine for Multivariate Discovery. One-Way MANOVA audits the effect of a categorical grouping on multiple continuous outcomes simultaneously, protecting the global alpha from inflation.

Model familyMultivariate GLM (Omnibus Vector Model)
Hypothesisomnibus_multivariate
AliasesMultivariate ANOVA · Omnibus Vector Test · Group Profile Analysis
G1
Alpha Shielding
Prevent Type I error explosion when testing multiple related outcomes simultaneously.
G2
Multivariate Isolation
Isolate group differences across a vector of dependent variables.
G3
Pattern Recognition
Detect differences that might be non-significant in isolation but are significant as a cluster.
Visual Overview Dashboard
1

What is it?

One-Way Repeated Measures MANOVA evaluates changes in multiple continuous outcomes across three or more repeated conditions (e.g. Pre, Mid, Post) within a single group.

2

When to use it

  • Repeated Measures: Same subjects tested across multiple trials.
  • Multiple DVs: Continuous, correlated dependent variables.
  • Single Cohort: Tracking trajectory of a single group.
3

Core Idea

Maps outcome trends in multi-dimensional space. Shows the joint path of change (Pre → Mid → Post) across both dependent variables:

PreMidPost

Useful for tracking multivariate recovery where physiological (e.g. heart rate) and psychological (e.g. mood) outcomes shift simultaneously.

4

Hypotheses

H₀: Bivariate centroids are equal across all trials.
Hₐ: Bivariate centroids shift significantly.
5

How it works

Partitions the within-subject covariance matrix. It evaluates Wilk's Lambda against the subject baseline variations to determine trajectory significance.

6

Assumptions

🔄 Bivariate Sphericity: Sphericity of differences generalized to multivariate matrices. Normal distribution of residuals.
7

Important Note

Repeated measures MANOVA effectively bypasses sphericity issues of univariate repeated measures because it does not require equal variances of differences.

8

Quick Example

Trace participant recovery from exhaustion across three intervals (baseline, 30 min, 60 min) measuring (1) heart rate and (2) perceived exertion.
Interactive Sandbox

Repeated Measures MANOVA Live Laboratory

Vary the trajectory shift over time to watch the bivariate path stretch and separate.

Trajectory Shift over Time15
Subject baseline variance8
Measurement Noise (σ)6
Sample Size (N)12
Bivariate Trajectory Centroid Path (DV1 vs DV2)Y: Outcome 2 · X: Outcome 1
2020404060608080PreMidPost
Multivariate Repeated Measures Calculations
Multivariate TestValueF-Approxp-value
Wilk's Lambda (Λ)0.8134.150.0274
Verdict
✅ Reject H₀ (Significant)
Bivariate trajectory shift over time is statistically significant (p = 0.0274). Outcomes are changing in combination.
The 12-Stage Precision Workflow
01Vector Parity
Hypotheses
We test if the group means across a CLUSTER of outcomes are equal, seeking a global signal of effect.
02Multivariate Normality
Assumptions
Ensuring the joint distribution of all outcomes follows the hyper-bell curve required for valid vector-based inference.
03Matrix Homogeneity
Diagnostics
Utilizing Box’s M Test to verify that the covariance patterns across outcomes are consistent across all groups.
04Cluster Monitoring
Examples
Auditing FlowMotion vs. Control across a vector of: Pain Intensity, Functional Mobility, and Psychological Resilience.
05Robust Pivots
Alternatives
Switching to Pillai's Trace or Non-parametric MANOVA if variance-covariance matrices are unstable or non-normal.
06Step-Down Analysis
Post-hoc
Executing a 'Roy-Bargmann Step-Down' or Bonferroni-corrected ANOVAs to find exactly which outcome drove the vector's success.
07Multivariate η²
Effect Size
Quantifying the proportion of total multivariate variance 'captured' by the grouping variable.
08Matrix Power
Sample Size
Accounting for the increased sample size required to stabilize the estimation of multiple outcome relationships.
09The Trace Statement
Reporting
Reporting the Wilks' Lambda or Pillai's Trace: 'V = X.XX, F(df1, df2) = X.XX, p = .XXX, η² = .XX'.
10Multivariate Syntax
Software
Configuring the outcome vector in the environment, ensuring the model respects the correlations between variables.
11The Redundancy Trap
Common Mistakes
Avoiding the 'Collinearity Error'—including multiple outcomes that are so highly correlated they destabilize the matrix.
12Omnibus Lineage
References
Tracing the model back to Wilks, Hotelling, and the evolution of multivariate statistical inference.
01Hypothesis test logic

Hypotheses

Pragmatic null and alternative hypotheses defined in mathematical notation.

We test the null hypothesis of equality to prove the alternative of distinction.
Logic Core
Null · H₀

H₀: The mean vectors across all DVs are equal at all timepoints (μ₁ = μ₂ = μ₃ = ... = μₖ for all DVs simultaneously)

Alternative · Hₐ

Hₐ: At least one timepoint differs on at least one DV (vector of means differs)

Why it matters omnibus_multivariate

Tests within-subjects effects across multiple DVs simultaneously. Use Wilks' Lambda, Pillai's Trace, or Roy's Largest Root. Protects against Type I error inflation when testing correlated DVs.

02Model diagnostics

Assumptions

The core mathematical criteria needed to ensure that statistical testing remains unbiased and valid.

Variance homogeneity is a key assumption, though ANOVA is robust to moderate inequality when group sizes are equal. Severe inequality requires Welch's adjustment to prevent distorted p-values.
Integrity Shield
6
Assumptions
4
Critical / High Severity
How to check
Quick
Inspect variable types; verify all DVs are truly continuous (not ordinal or categorical). Check that DVs are measured on comparable or standardized scales
Rigorous
Confirm measurement properties for each DV; verify sufficient resolution (not just 3-5 categories). Consider standardizing DVs if scales differ widely
If violated
If any DV is ordinal with limited categories → consider separate Friedman tests with Bonferroni correction, or ordinal mixed models. If DVs are binary → use generalized estimating equations (GEE) with binary family. If mixture of continuous and categorical → run separate analyses or use structural equation modeling (SEM)
friedmangee
How to check
Quick
Design review: verify each subject ID has measurements on all DVs at all timepoints. Check data structure has subject ID, timepoint, and multiple DV columns
Rigorous
Cross-tabulate subject IDs by timepoint and DV; verify complete data matrix. Calculate within-subject correlations among DVs to confirm they're measured on same units
If violated
If independent groups (different participants per condition) → use between-subjects MANOVA. If mixed design (some factors within, some between) → use mixed-design MANOVA. If missing data → use multivariate linear mixed models (MLMM) which handle missing values
How to check
Quick
Univariate normality per DV per timepoint (Shapiro-Wilk, Q-Q plots). While not sufficient, severe univariate non-normality suggests multivariate non-normality
Rigorous
Mardia's test of multivariate normality (skewness and kurtosis), Henze-Zirkler test, or Royston's H-test. Check Mahalanobis distances for multivariate outliers (χ² distribution with df = # DVs)
If violated
If mild violation with n ≥ 30 per cell: MANOVA is reasonably robust via multivariate CLT, proceed cautiously. If notable violation: (1) Transform DVs (log, sqrt, Box-Cox) before analysis; (2) Use Pillai's Trace (most robust to non-normality); (3) Permutation MANOVA (resampling-based); (4) Bootstrap confidence intervals; (5) Separate robust RM-ANOVAs with Bonferroni correction if DVs not highly correlated
How to check
Quick
Box's M test (sensitive to non-normality and unequal n). p > .001 suggests assumption met. Note: Box's M is very sensitive with large n
Rigorous
Examine variance-covariance matrices per timepoint; compare variances and covariances visually. Use robust MANOVA if Box's M is significant but sample sizes are equal
If violated
If Box's M p < .001 but sample sizes equal (balanced design): Proceed with Pillai's Trace (most robust to heterogeneity). If unequal n: (1) Transform DVs to stabilize variances; (2) Use multivariate Welch-type test; (3) Permutation MANOVA; (4) Bootstrapping. Box's M is very conservative with large n—use judgment, not just p-value
How to check
Quick
Mauchly's test per DV. If any DV violates sphericity (p < .05), use multivariate approach (which doesn't assume sphericity)
Rigorous
Check sphericity separately for each DV using Mauchly's test. Examine epsilon (ε) values: < .75 indicates moderate violation. Multivariate approach (Wilks' Lambda) avoids sphericity assumption entirely
If violated
BEST: Use multivariate approach (Wilks' Lambda, Pillai's Trace) which doesn't assume sphericity and tests all DVs simultaneously. Alternative: Apply Greenhouse-Geisser or Huynh-Feldt corrections per DV if using univariate approach. Multivariate approach is preferred for RM-MANOVA as it handles both multiple DVs and repeated measures simultaneously
How to check
Quick
Count missing values across DVs and timepoints. Calculate percentage of missing cells. Check if missingness is systematic (MCAR vs MAR vs MNAR)
Rigorous
Little's MCAR test; examine patterns of missingness. Test if missingness relates to observed variables or outcomes
If violated
If < 5% missing and MCAR → listwise deletion acceptable but reduces power. If > 5% or non-random missingness: (1) BEST: Use multivariate linear mixed models (MLMM) via Bayesian or ML estimation (handles missing data); (2) Multiple imputation with mice, Amelia, or norm package, then pool results; (3) Pattern-mixture models for MNAR. NEVER use pairwise deletion in RM-MANOVA
03Residual Forensics

Diagnostics

Checking residual plots and indices to examine model deviations and ensure standard error integrity.

Trust, but verify. Outliers can reveal critical data quality issues or genuine subgroup effects that averages obscure.
System Health
Essential checks
  1. Box's M test for homogeneity of variance-covariance matrices
  2. Mauchly's test of sphericity (per DV if using univariate approach)
  3. Mardia's test or Henze-Zirkler test for multivariate normality
  4. Mahalanobis distance to identify multivariate outliers
Recommended checks
  1. Bartlett's test of sphericity (tests if correlation matrix differs from identity)
  2. Q-Q plots per DV per timepoint
  3. Scatterplot matrix of DVs to check linear relationships
  4. Variance-covariance matrices per timepoint
  5. Profile plots (means across time) for each DV
  6. Correlation matrix of DVs
  7. Descriptive statistics (M, SD) per DV per timepoint
04Live Instances

Applied Minds

Review concrete study examples, data layout guidelines, and copy executable syntax scripts.

Theory is the map. Practice is the terrain. Simulation bridges the gap.
Applied Wisdom
Example 01

Cognitive Training Effects on Multiple Cognitive Domains (3 DVs × 3 Timepoints)

Research question: Does 12-week cognitive training improve multiple cognitive domains? Design: 45 older adults (65+ years) complete training. Outcomes: 3 cognitive DVs (Working Memory, Processing Speed, Executive Function) measured at baseline, 6 weeks, and 12 weeks. RM-MANOVA tests if cognitive profile changes over time.

DesignWithin-subjects, 3 DVs × 3 timepoints
Total n135
# One-way RM-MANOVA: Cognitive training across 3 timepoints × 3 DVs
library(tidyverse)
library(car)           # For Anova() with Type II/III SS
library(heplots)       # For multivariate effect sizes
library(mvnormtest)    # For multivariate normality
library(rstatix)       # For Box's M test

set.seed(2025)

# Simulate cognitive data: 3 DVs improving over time
subjects <- 1:45
data_wide <- expand.grid(
  subject = subjects,
  timepoint = c("Baseline", "Week6", "Week12")
) %>%
  mutate(
    timepoint = factor(timepoint, levels = c("Baseline", "Week6", "Week12")),
    time_numeric = as.numeric(timepoint) - 1,
    # Simulate correlated cognitive improvements
    wm = rnorm(135, mean = 0 + 0.3*time_numeric, sd = 0.9),
    ps = rnorm(135, mean = 0 + 0.25*time_numeric, sd = 0.95),
    ef = rnorm(135, mean = 0 + 0.35*time_numeric, sd = 0.85)
  )

# Add within-subject correlation
subject_effects <- data.frame(
  subject = subjects,
  subj_wm = rnorm(45, 0, 0.4),
  subj_ps = rnorm(45, 0, 0.35),
  subj_ef = rnorm(45, 0, 0.4)
)

data_wide <- data_wide %>%
  left_join(subject_effects, by = "subject") %>%
  mutate(
    wm = wm + subj_wm,
    ps = ps + subj_ps,
    ef = ef + subj_ef
  ) %>%
  select(subject, timepoint, wm, ps, ef)

# === STEP 1: Check Assumptions ===

# 1. Descriptive statistics per DV per timepoint
data_wide %>%
  group_by(timepoint) %>%
  summarise(
    WM_M = mean(wm), WM_SD = sd(wm),
    PS_M = mean(ps), PS_SD = sd(ps),
    EF_M = mean(ef), EF_SD = sd(ef)
  )

# 2. Correlation among DVs
cat("\n=== Correlation Matrix(All Timepoints) ===")
data_wide %>%
  select(wm, ps, ef) %>%
  cor() %>%
  round(3)

# 3. Box's M test (homogeneity of covariance matrices)
cat("\n=== Box's M Test ===")
box_m_result <- box_m(data_wide[, c("wm", "ps", "ef")], 
                      data_wide$timepoint)
print(box_m_result)
# Interpretation: p > .001 suggests assumption met

# 4. Multivariate normality (check at each timepoint)
# Using Shapiro-Wilk per DV as approximation
cat("\n=== Normality Tests per DV per Timepoint ===")
for (tp in c("Baseline", "Week6", "Week12")) {
  cat("\n", tp, ":\n")
  tp_data <- data_wide %>% filter(timepoint == tp)
  cat("  WM:", shapiro.test(tp_data$wm)$p.value, "\n")
  cat("  PS:", shapiro.test(tp_data$ps)$p.value, "\n")
  cat("  EF:", shapiro.test(tp_data$ef)$p.value, "\n")
}

# === STEP 2: Prepare Data for RM-MANOVA ===
# Need wide format: one row per subject, columns for each DV × timepoint
data_rmanova <- data_wide %>%
  pivot_wider(
    id_cols = subject,
    names_from = timepoint,
    values_from = c(wm, ps, ef),
    names_sep = "_"
  )

head(data_rmanova)

# === STEP 3: Run RM-MANOVA (Multivariate Approach) ===

# Define within-subjects factor (timepoint with 3 levels)
idata <- data.frame(
  timepoint = factor(c("Baseline", "Week6", "Week12"))
)

# Multivariate model using car::Anova
model <- lm(cbind(wm_Baseline, wm_Week6, wm_Week12,
                  ps_Baseline, ps_Week6, ps_Week12,
                  ef_Baseline, ef_Week6, ef_Week12) ~ 1,
            data = data_rmanova)

# Define within-subject design
# Each DV has 3 timepoints
idata_full <- expand.grid(
  dv = c("wm", "ps", "ef"),
  timepoint = c("Baseline", "Week6", "Week12")
)

# Simplified approach: Analyze each DV separately with RM-ANOVA,
# then use MANOVA to test all DVs simultaneously

# Alternative: Use multivariate profile analysis
cat("\n=== Multivariate Profile Analysis ===")

# Reshape for multivariate testing
wm_matrix <- as.matrix(data_rmanova[, c("wm_Baseline", "wm_Week6", "wm_Week12")])
ps_matrix <- as.matrix(data_rmanova[, c("ps_Baseline", "ps_Week6", "ps_Week12")])
ef_matrix <- as.matrix(data_rmanova[, c("ef_Baseline", "ef_Week6", "ef_Week12")])

# Combine into single multivariate outcome
Y <- cbind(wm_matrix, ps_matrix, ef_matrix)

# Within-subjects contrasts (test for time effect)
C <- matrix(c(-1, 1, 0,   # Baseline vs Week 6
              -1, 0, 1),  # Baseline vs Week 12
            nrow = 3, ncol = 2)

# Test time effect for each DV
cat("\nWorking Memory over time:\n")
wm_time <- lm(wm_matrix %*% C ~ 1)
Anova(wm_time, multivariate = TRUE)

cat("\nProcessing Speed over time:\n")
ps_time <- lm(ps_matrix %*% C ~ 1)
Anova(ps_time, multivariate = TRUE)

cat("\nExecutive Function over time:\n")
ef_time <- lm(ef_matrix %*% C ~ 1)
Anova(ef_time, multivariate = TRUE)

# === STEP 4: Effect Sizes ===
cat("\n=== Effect Sizes ===")
# Partial eta squared for each DV
# (Calculated from multivariate tests)

# === STEP 5: Profile Plots ===
data_long <- data_wide %>%
  pivot_longer(cols = c(wm, ps, ef),
               names_to = "cognitive_domain",
               values_to = "z_score")

ggplot(data_long, aes(x = timepoint, y = z_score, 
                      color = cognitive_domain, group = cognitive_domain)) +
  stat_summary(fun = mean, geom = "line", size = 1.2) +
  stat_summary(fun = mean, geom = "point", size = 3) +
  stat_summary(fun.data = mean_se, geom = "errorbar", width = 0.2) +
  labs(title = "Cognitive Training Effects Across 12 Weeks",
       subtitle = "Three cognitive domains show improvement",
       x = "Assessment Timepoint",
       y = "Mean z-score ± SE",
       color = "Cognitive Domain") +
  scale_color_brewer(palette = "Set1",
                     labels = c("Executive Function", "Processing Speed", "Working Memory")) +
  theme_classic() +
  theme(legend.position = "bottom")

# === APA Reporting ===
cat("
=== APA Report ===
A one-way repeated measures MANOVA examined cognitive changes across 12 weeks
of training(N=45) on three domains: working memory, processing speed, and
executive function. Box's M test indicated homogeneity of covariance matrices,
p = .XX. Multivariate tests revealed a significant time effect, Wilks' Λ = .65,
F(6, 82) = 7.23, p < .001, partial η² = .35 (large multivariate effect).

Univariate follow-up tests showed:
- Working memory: F(2, 88) = 15.4, p < .001, partial η² = .26
- Processing speed: F(2, 88) = 11.2, p < .001, partial η² = .20
- Executive function: F(2, 88) = 18.7, p < .001, partial η² = .30

Post-hoc pairwise comparisons(Bonferroni-corrected) indicated all three domains
improved significantly from baseline to Week 6 and Week 12 (all p < .01),
with continued gains from Week 6 to Week 12 (p < .05). Results demonstrate
broad cognitive benefits of training, consistent with meta-analytic evidence.
")
Interpretation Blueprint

Multivariate tests: Wilks' Λ = .65, F(6, 82) = 7.23, p < .001, partial η² = .35 (large effect). All three cognitive domains improved significantly over 12 weeks (all univariate p < .001). Executive function showed largest gains (η²p = .30), followed by working memory (.26) and processing speed (.20). Results demonstrate transfer effects across multiple cognitive domains, supporting broad cognitive training benefits consistent with meta-analytic evidence (Karbach & Verhaeghen, 2014).

05Tactical Pivots

Alternatives

Structured fallback pathways for choosing alternative tests when normality or slopes requirements fail.

When the path is blocked, pivot. Rigor is not rigidity; it is the intelligent adaptation to reality.
Adaptive Strategy
Multivariate Precision Ladder Ideal · Ratio / Interval Vector
Ratio Vector
Maintain MANOVA. Optimal for auditing group differences across a cluster of high-fidelity physical markers.
Peak Precision
Interval Vector
Ideal for clinical profiles. Ensure outcomes are related enough to justify a multivariate strike.
Standard Profile
Ordinal Vector
Pivot to Non-Parametric MANOVA (PERMANOVA) if outcomes are ranked or non-normally distributed.
Rank Confusion
Nominal Vector
Abandon MANOVA. Use Log-Linear Analysis to audit associations between categorical outcome profiles.
Information Suicide
Temporal Trajectory Audit Multivariate Snapshot
Static Profile
Cross-sectional cluster.
Stay with MANOVA. Protections against Type I error when testing multiple related outcomes.
Repeated Profile
Vector over time.
Pivot to Repeated Measures MANOVA (Profile Analysis) to audit trajectory-divergence across multiple markers.
Adaptive Technical Safeguards · adaptive safeguards
matrix heterogeneity
  • Pillai's Trace Pivot — The most robust omnibus statistic when Box's M is significant or group sizes are small.
  • Bootstrapped MANOVA — Resample the entire multivariate vector to bypass normality mandates.
multicollinearity
  • Discriminant Function Analysis (DFA) — Identify which outcomes contribute uniquely to group separation.
  • PCA Pre-Reduction — Collapse highly redundant outcomes into a single high-signal component before testing.
06Adjusted Comparisons

Post-hoc

Group mean comparisons and correction controls (e.g. Tukey HSD, Bonferroni) to protect against Family-Wise Error Rates.

The omnibus test opens the door; post-hoc analysis explores the room.
Forensic Detail
Adjusted Comparisons

Post-hoc pairwise tests defined for this model.

Interpretation Guidelines

No specific guidelines provided.

07Standardized scale impact

Effect Size

Understanding effect sizes (e.g., Cohen's d, Partial Eta-Squared) and clinical impact benchmarks.

Eta-squared tells you the 'ownership' of variance. How much of the outcome does your treatment actually control?
Impact Magnitude

Λ ranges 0-1. Smaller values = larger effect. Λ = .90 (small), .75 (medium), .50 (large). Most commonly reported

Ranges 0-1. Larger values = larger effect. Most robust to violations of assumptions. V = .10 (small), .25 (medium), .50 (large)

Proportion of variance explained. Small: .01, Medium: .06, Large: .14. Calculate per DV for univariate follow-ups

Pillai's Trace for robustness; Wilks' Lambda for convention and power when assumptions met

Recommended Metric: Pillai's Trace (most robust) or Wilks' Lambda (most common); partial η² for univariate follow-ups
Small
0.2
Medium
0.5
Large
0.8
0.50
Pillai's Trace (most robust) or Wilks' Lambda (most common); partial η² for univariate follow-ups
Recommended Measure
5
Available Metrics
ReportUse Pillai's Trace (most robust) or Wilks' Lambda (most common); partial η² for univariate follow-ups to represent clinical impact magnitude.
08Statistical Power

Sample Size

Guidelines for minimum sample requirements and power analysis parameters.

An underpowered study is an ethical failure. Respect the data by collecting enough of it.
Power Protocol
Floor Requirements

At least 20 subjects for reliable multivariate tests. Larger n needed as number of DVs increases. Rule: n > # DVs + # timepoints + 10

Effect SizeParametersRequired n
Small Effectα=.05, power=.80n ≈ 300+
Medium Effectα=.05, power=.80n ≈ 50-80 depending on # DVs and timepoints
Large Effectα=.05, power=.80n ≈ 25-40
G*Power StrategyUse G*Power: F-test → MANOVA: Repeated measures, within factors. Complex due to multiple DVs. Alternatively, use simulation-based power analysis
09APA narrative blueprint

Reporting

How to compile statistical results into publication prose matching APA and journal style guides.

Report the F-statistic as the signal-to-noise ratio, showing how much of the variance is driven by treatment differences versus background noise.
Narrative Arc
Worked APA paragraph example
A one-way repeated measures MANOVA examined changes in three cognitive domains (working memory, processing speed, executive function) across 12 weeks of cognitive training (N = 45 older adults). Box's M test indicated homogeneity of covariance matrices across timepoints, p = .18. Multivariate normality was assessed via univariate Shapiro-Wilk tests (all p > .05). Multivariate tests revealed a significant effect of time, Wilks' Λ = .65, F(6, 82) = 7.23, p < .001, partial η² = .35, indicating a large multivariate effect. Univariate follow-up tests (Bonferroni-corrected α = .017) showed significant improvements in all three domains: working memory, F(2, 88) = 15.4, p < .001, partial η² = .26; processing speed, F(2, 88) = 11.2, p < .001, partial η² = .20; and executive function, F(2, 88) = 18.7, p < .001, partial η² = .30. Post-hoc pairwise comparisons indicated significant gains from baseline to Week 6 and Week 12 for all domains (all p < .01), with executive function showing the largest improvements. These findings demonstrate broad cognitive transfer effects of training across multiple domains.
Reusable template

A one-way repeated measures MANOVA examined changes in k DVs: list them across # timepoints. State sample and design. Assumptions: 'Box's M test indicated homogeneity of covariance matrices, p = .XX. Multivariate normality was assessed via [Mardia's test/univariate checks.'] Multivariate tests revealed a significant/non-significant effect of time, Wilks' Λ/Pillai's Trace = .XX, F(df1, df2) = X.XX, p = .XXX, partial η² = .XX. If significant: Univariate follow-up tests (with Bonferroni correction, α = .XX) showed significant time effects for: list DVs with F-statistics, p-values, and effect sizes. Describe pattern: which DVs increased/decreased, when. Conclude with substantive interpretation.

Essential statistics to report
  • Multivariate test statistic (Wilks' Λ or Pillai's Trace)
  • F-statistic with df for multivariate test
  • p-value for multivariate test
  • Multivariate effect size (partial η²)
  • Box's M test result
  • Univariate F-statistics per DV (if multivariate significant)
  • Univariate p-values with Bonferroni correction
  • Univariate effect sizes (partial η² per DV)
  • Descriptive statistics per DV per timepoint (M, SD)
10Exhibit Builder

Manuscript Lab

Copy standard summary tables and forensic reporting grids to outline analysis details.

Table 1: One-Way MANOVA Summary for Multivariate Outcome Vector
EffectPillai's TraceFHypoth dfError dfpηp²
Group (Intercept).9821245.2395< .001.98
Group (Primary).24510.24395< .001.24
Residuals
Note. Pillai's Trace used for maximum robustness to covariance violations. N = 100.
Pillai's Trace (.245)This represents a highly significant multivariate separation. Groups differ significantly when all 3 outcome markers are audited simultaneously.
ηp² (.24)Identifies a Large Multivariate Effect. 24% of the joint variance in the outcome vector is explained by group membership.
Header glossary

The 'Global Signal'. An omnibus statistic representing the overall group separation across all outcome variables.

Model Complexity. The number of independent contrasts used to estimate the multivariate effect.

Residual Degrees of Freedom. The remaining information used to stabilize the multivariate noise estimate.

Multivariate Multiplier. The signal-to-noise ratio calculated using the variance-covariance matrix.

Multivariate Probability. The chance that the group centroids are identical across all outcome dimensions.

11Algorithmic Logic

Command Center

Syntax libraries and function parameters for executing calculations in stats packages.

Code is the modern laboratory. Clean execution ensures reproducible discovery.
Execution Engine
# 1. Construct Multivariate Matrix
outcomes <- as.matrix(df[, c('marker1', 'marker2', 'marker3')])

# 2. Execute Omnibus MANOVA
model <- manova(outcomes ~ group, data = df)
summary(model, test = 'Pillai')

# 3. Step-Down Univariate Audit
summary.aov(model)
Library stack
R
statscar
Python
statsmodelspingouin
Elite Forensic Strike

Protect against Type I inflation by auditing the 'Centroid Gap' before diving into individual outcome analyses.

# Multivariate Outlier Audit (Mahalanobis Distance)
performance::check_outliers(model, method = 'mahalanobis')

# Visualize Centroid Separation (H-E Plot)
heplot::heplot(model)
12The Over-adjustment Trap

Common Mistakes

Analytical caveats and corrections to maintain modeling integrity.

Wisdom is learning from the failures of others. Anticipate the error before it occurs.
Defensive Logic
Why it's wrong
Testing k DVs separately inflates familywise Type I error rate. With 3 DVs at α = .05 each, familywise error ≈ 1-(1-.05)³ = 14%. You're essentially conducting multiple hypothesis tests without controlling false positive rate.
The correction
Use RM-MANOVA to test all DVs simultaneously (controls familywise error at α = .05). If multivariate test significant, proceed to univariate follow-ups with Bonferroni correction (divide α by # DVs). Alternatively, report all analyses with Bonferroni-corrected p-values from the start.
Why it's wrong
Multivariate outliers are cases with unusual combinations across DVs, even if not extreme on any single DV. They distort multivariate statistics (covariance matrices, Mahalanobis distances) and can invalidate MANOVA results. Univariate outlier checks miss these.
The correction
Calculate Mahalanobis distance for each subject across all DVs. Values with χ²(df = # DVs) p < .001 are multivariate outliers. Examine these cases; if legitimate, report results with/without outliers (sensitivity analysis). Consider robust MANOVA if many outliers.
Why it's wrong
Highly correlated DVs provide redundant information, reducing power and causing multicollinearity. MANOVA assumes DVs measure distinct constructs. If DVs are nearly identical, you're not gaining anything from multivariate analysis—just inflating Type II error.
The correction
Check correlation matrix. If r > .90 between DVs: (1) Drop redundant DVs or average them into composite; (2) Use principal components analysis (PCA) to reduce dimensions; (3) Conduct separate RM-ANOVAs on theoretically distinct DVs only. MANOVA works best with moderately correlated DVs (r = .30-.70).
Why it's wrong
Multivariate test tells you 'something changed somewhere among the DVs' but doesn't identify which specific DVs changed or the direction of effects. This provides incomplete information for interpretation and limits practical utility.
The correction
If multivariate test is significant (p < .05), always conduct univariate RM-ANOVAs for each DV with Bonferroni-corrected alpha. Report which DVs showed significant changes, effect sizes, and direction of change. This identifies the specific pattern of multivariate effects.
Why it's wrong
Box's M tests homogeneity of variance-covariance matrices. If violated (p < .001) with unequal n across groups/timepoints, MANOVA inflates Type I error. Box's M is sensitive but important with unbalanced designs.
The correction
If Box's M p < .001 AND unequal n: (1) Use Pillai's Trace (most robust to heterogeneity); (2) Transform DVs to stabilize variances; (3) Use permutation MANOVA; (4) Bootstrap CIs. If n are equal, Pillai's Trace is robust—proceed with caution. Never ignore violation with unequal n.
Why it's wrong
Listwise deletion removes any subject with ≥1 missing value across all DVs × all timepoints. With k DVs and m timepoints (k×m variables), even small % missing per variable compounds, losing most subjects. Introduces bias if data not MCAR.
The correction
Use multivariate linear mixed models (MLMM) which handle missing data via ML estimation—no deletion needed. Alternatively, use multiple imputation (mice, Amelia) to impute missing values, then conduct RM-MANOVA on imputed datasets and pool results. Only use listwise deletion if < 5% total missing and clearly MCAR.
Why it's wrong
This is a common misconception. MANOVA actually works BEST with moderately correlated DVs (r = .30-.70). Correlation among DVs is expected and appropriate—it's what makes multivariate analysis powerful (shared variance is modeled). Zero correlation makes MANOVA identical to separate ANOVAs.
The correction
Correlation among DVs is fine and expected. Problems arise only with extreme correlation (r > .90, redundancy/multicollinearity) or zero correlation (no benefit from multivariate analysis). Check correlation matrix: moderate correlations (.30-.70) are ideal for MANOVA.
13Academic Lineage

References

Scholarly lineage and citation keys grounding the statistical framework.

We stand on the shoulders of giants. Honor the source of the method.
Academic Lineage
[1]
Karbach, J., & Verhaeghen, P. (2014). Making working memory work: A meta-analysis of executive-control and working memory training in older adults. Psychological Science, 25(11), 2027-2037.
Cognitive training meta-analysis showing transfer effects to multiple cognitive domains (d = 0.3-0.5). Basis for Example 1.
doi: 10.1177/0956797614548725
[2]
Morgan, W. P. (1985). Selected psychological factors limiting performance: A mental health model. In D. H. Clarke & H. M. Eckert (Eds.), Limits of Human Performance (pp. 70-80). Human Kinetics.
Introduced 'iceberg profile' of mood states in athletes: elevated vigor, reduced negative affect. Basis for Example 2.
[3]
Tabachnick, B. G., & Fidell, L. S. (2019). Using Multivariate Statistics (7th ed.). Pearson.
Comprehensive textbook on MANOVA assumptions, diagnostics, effect sizes, and interpretation. Chapter 10: Profile Analysis.
[4]
Cole, D. A., Maxwell, S. E., Arvey, R., & Salas, E. (1994). How the power of MANOVA can both increase and decrease as a function of the intercorrelations among the dependent variables. Psychological Bulletin, 115(3), 465-474.
Shows that moderate DV correlations increase MANOVA power, but extreme correlations decrease power. Optimal r = .30-.70.
doi: 10.1037/0033-2909.115.3.465
[5]
Olson, C. L. (1976). On choosing a test statistic in multivariate analysis of variance. Psychological Bulletin, 83(4), 579-586.
Compares Wilks' Λ, Pillai's Trace, Hotelling-Lawley, Roy's Root. Pillai's most robust to violations; Wilks' best power when assumptions met.
doi: 10.1037/0033-2909.83.4.579
A single variable is a data point; a vector is a profile. Use MANOVA to protect the integrity of your multi-dimensional story.
The Interpretive Rigor Directive
statminds · One-WayMind reference · v2.2 · updated 2026-01-1715 of 15 sections