Atlas
statminds
NonparametricThe 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

Page's Trend Test

Detects monotonic trend in k≥3 ordered repeated measures; more powerful than Friedman when trend expected.

Model familyNonparametric
Hypothesisdirectional
AliasesPage's L test · Page test for ordered alternatives
G1
association
G2
description
Visual Overview Dashboard
1

What is it?

Page's Trend Testis a repeated measures test checking for an ordered, monotonic trend across linked treatments (e.g. baseline < mid-point < follow-up).

2

When to use it

  • Linked Blocks: Repeated measures designs.
  • Monotonic Trend Hypothesis: Ordered change is predicted across conditions.
3

Core Idea

Ranks conditions within subjects, weighting condition rank sums by their expected order coefficients (1, 2, 3). High agreement builds a strong slope:

Baseln (x1)Midpt (x2)Follow (x3)
4

Hypotheses

H0: No systematic trend across repeated measurements
Ha: Condition medians display hypothesized monotonic growth trend
5

How it works

  1. Rank outcomes (1 to k) within each subject block separately.
  2. Calculate Rank Sums for each condition.
  3. Compute Page's L: L = sum(j * R_j) where j is expected index.
  4. Low p rejects H0, confirming ordered progression.
6

Assumptions

📊 Ordinal Data: Repeated values can be ranked.
👤 Independence: Subject blocks are independent.
7

Effect Size

Measured using **Page L correlation coefficient**, indicating trend consistency across blocks.

8

Quick Example

ConditionRank SumWeight (j)
C1121
C2242
C3363 (Significant L)
Interactive Sandbox

Page's L Ordered Trend Live Laboratory

Increase the monotonic slope trend to align condition rank sums to expectation.

Presets
Ordered Trend Slope2.0
Block size (N)12
Condition Rank Sums Trend (C1: left, C2: center, C3: right)Y-Axis: Total Rank Sums (Scale: N to 3N)
Calculations Output
MetricValue
Observed Page L Stat143
Expected L under H0144.0
Z-statistic-0.102
p-value0.9193
Statistical Verdict
❌ No Monotonic Trend
No ordered repeated measures trend is statistically supported (L = 143, p = 0.919). Fail to reject H0.
01Hypothesis test logic

Hypotheses

Pragmatic null and alternative hypotheses defined in mathematical notation.

A hypothesis is a question sharpened to a point. Ambiguity is the enemy of inference.
Logic Core
Null · H₀

H₀: No trend across ordered conditions (θ₁ = θ₂ = ... = θₖ)

Alternative · Hₐ

Hₐ: Monotonic trend exists (θ₁ ≤ θ₂ ≤ ... ≤ θₖ, with at least one strict inequality)

Why it matters directional

One-tailed test requiring a priori specification of trend direction. More powerful than Friedman test when ordered alternative is expected (e.g., dose-response, learning over time). Tests for monotonic trend in location parameters across k≥3 ordered repeated measures.

02Model diagnostics

Assumptions

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

Build your analysis on rock, not sand. Verify the mathematical foundation before building the model.
Integrity Shield
6
Assumptions
0
Critical / High Severity
How to check
Verify study design: same subjects measured under k≥3 conditions that have a natural/theoretical ordering
If violated
If independent groups → use Jonckheere-Terpstra test for ordered alternatives. If k=2 conditions → use Wilcoxon signed-rank (one-tailed). If conditions unordered → use Friedman test
How to check
Confirm hypothesis predicts specific monotonic direction (increasing or decreasing) based on theory, not data inspection
If violated
If no a priori direction → use Friedman test (omnibus). Post-hoc use of Page's test inflates Type I error. Never reverse trend direction after seeing data
How to check
Inspect variable type; verify meaningful ordering of values
If violated
If nominal outcome → use Cochran's Q (binary) or multinomial models. If counts → consider Poisson-based repeated measures models
How to check
Design review: verify no clustering (e.g., patients within clinics) or familial relationships between subjects
If violated
If subjects clustered → use mixed-effects ordinal regression with cluster random effects. If paired/matched subjects → account for matching structure
How to check
Quick
Count tied ranks within subjects; if >25% of within-subject ranks are tied, ties are excessive
Rigorous
Calculate proportion of tied observations. Page's L handles ties via midrank method, but excessive ties (>30%) reduce power and may invalidate asymptotic distribution
If violated
If excessive ties: (1) Use tie-corrected L statistic (standard in software); (2) Consider exact permutation version; (3) If ties from discrete scale, use ordinal mixed-effects model instead; (4) Report tie proportion in methods
friedman
How to check
Quick
Check n (subjects): if n ≥ 12 with k=3 or n ≥ 8 with k=4+, asymptotic approximation is accurate
Rigorous
For smaller samples: n < 12 (k=3) or n < 8 (k≥4), use exact permutation distribution or tables. Critical values for exact tests available in original Page (1963) paper
If violated
If n too small: (1) Use exact Page test (permutation-based p-values); (2) Use simulation/bootstrap for p-value; (3) Consult exact critical value tables; (4) Report exact test method. Power is limited with small n regardless of method
03Residual Forensics

Diagnostics

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

Trust, but verify. The outliers often hold more truth than the averages.
System Health
Essential checks
  1. If >70% of subjects show trend in predicted direction, Page's test is appropriate. If patterns are mixed or non-monotonic, trend may not exist
  2. Clear monotonic trend supports Page's test use. Non-monotonic pattern (e.g., inverted-U) violates ordered alternative assumption
  3. Higher weighted rank sums indicate stronger trend. L statistic summarizes these weighted sums across subjects
  4. Significant Friedman (p < .05) suggests differences exist; Page's test determines if difference follows predicted trend. Non-significant Friedman suggests no effect
  5. Standardized L ranges 0-1 (no trend to perfect trend). Tau >0.3 = medium effect, >0.5 = large effect
Recommended checks
  1. High % of subjects with positive tau supports population-level trend. Heterogeneity suggests individual differences in trend
  2. If L similar for both directions, pattern may be non-monotonic or U-shaped rather than linear trend
  3. If Friedman p < Page's p, trend may not be monotonic. Page's is more powerful only for ordered alternatives
  4. Robust rank methods reduce outlier impact. Large changes suggest sensitivity analysis needed
  5. Monotonic trend shows consistent cumulative increases (or decreases) across all transitions
  6. CI excluding null value (expected L under H₀) confirms significance. Width indicates precision
  7. Power <0.8 with significant result suggests lucky finding or overestimated effect. Power >0.9 indicates robust detection
  8. Page's test detects any monotonic trend (linear or non-linear). Linear trend suggests dose-response; non-linear suggests threshold effects
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

Drug Dose-Response on Pain Relief (4 Ordered Levels)

Classic dose-response design with ordered conditions. Page's test is ideal because: (1) within-subjects design, (2) 4 ordered dose levels with a priori predicted increasing trend, (3) more powerful than Friedman when monotonic trend expected.

# Page's Trend Test: Drug Dose-Response Example
# ================================================================
# Research Question: Do increasing analgesic doses produce 
# monotonically increasing pain relief?

# Load packages
library(crank)       # page.test()
library(tidyverse)
library(DescTools)   # KendallW()

# Create data: 15 patients × 4 doses
set.seed(123)
patient_id <- rep(1:15, each = 4)
dose <- rep(c(0, 50, 100, 200), times = 15)

# Simulate pain relief with monotonic trend + noise
base_relief <- case_when(
  dose == 0   ~ rnorm(15, mean = 2, sd = 1),
  dose == 50  ~ rnorm(15, mean = 4, sd = 1.2),
  dose == 100 ~ rnorm(15, mean = 6, sd = 1.3),
  dose == 200 ~ rnorm(15, mean = 7.5, sd = 1.5)
)

pain_data <- data.frame(
  patient = factor(patient_id),
  dose = factor(dose, levels = c("0", "50", "100", "200")),
  dose_numeric = dose,
  relief = pmax(0, pmin(10, base_relief))  # Bound 0-10
)

# -------- ASSUMPTION CHECKS --------

# 1. Check design: within-subjects, ordered conditions
cat("Design check:\n")
cat("Subjects:", length(unique(pain_data$patient)), "\n")
cat("Conditions(ordered):", nlevels(pain_data$dose), "\n")
cat("Measurements per subject:", table(table(pain_data$patient)), "\n\n")

# 2. Visualize individual trends (spaghetti plot)
ggplot(pain_data, aes(x = dose, y = relief, group = patient)) +
  geom_line(alpha = 0.3) +
  geom_point(alpha = 0.5) +
  stat_summary(aes(group = 1), fun = mean, geom = "line", 
               color = "red", size = 1.5) +
  labs(title = "Individual Dose-Response Profiles",
       subtitle = "Red line = mean trend",
       x = "Dose(mg)", y = "Pain Relief(0-10)") +
  theme_minimal()

# 3. Check for monotonic pattern in means
mean_relief <- pain_data %>%
  group_by(dose) %>%
  summarise(mean_relief = mean(relief),
            median_relief = median(relief),
            se = sd(relief)/sqrt(n()))
print(mean_relief)

# 4. Calculate within-subject ranks
pain_wide <- pain_data %>%
  pivot_wider(names_from = dose, values_from = relief)

ranks <- t(apply(pain_wide[, -1], 1, rank))
colnames(ranks) <- c("Dose_0", "Dose_50", "Dose_100", "Dose_200")
cat("\nMean ranks per dose:\n")
print(colMeans(ranks))

# -------- PAGE'S TREND TEST --------

# Specify expected order: 1, 2, 3, 4 (increasing)
expected_order <- c(1, 2, 3, 4)

# Run Page's L test
page_result <- page.test(
  x = pain_wide[, c("0", "50", "100", "200")],
  ranks = expected_order
)

cat("\n=== PAGE'S TREND TEST ===\n")
print(page_result)

# -------- EFFECT SIZE --------

# Standardized L (L ranges from minimum to maximum possible)
L_obs <- page_result$statistic
k <- 4  # conditions
n <- 15  # subjects

# L ranges from k(k+1)n/2 (no trend) to k²(k+1)n/4 (perfect trend)
L_min <- k * (k + 1) * n / 2
L_max <- k^2 * (k + 1) * n / 4
L_standardized <- (L_obs - L_min) / (L_max - L_min)

cat("\nEffect Size:\n")
cat("L statistic:", L_obs, "\n")
cat("Standardized L:", round(L_standardized, 3), "(0=no trend, 1=perfect)\n")

# Kendall's W (concordance coefficient)
friedman_data <- as.matrix(pain_wide[, -1])
kendall_w <- KendallW(friedman_data, correct = TRUE)
cat("Kendall's W:", round(kendall_w, 3), "(concordance)\n")

# -------- COMPARISON WITH FRIEDMAN --------

friedman_result <- friedman.test(relief ~ dose | patient, data = pain_data)
cat("\nFriedman test(omnibus):\n")
cat("Chi-square =", friedman_result$statistic, ", p =", 
    format.pval(friedman_result$p.value, digits = 3), "\n")

# -------- VISUALIZATION --------

# Plot mean trend with error bars
ggplot(mean_relief, aes(x = dose, y = mean_relief, group = 1)) +
  geom_line(size = 1.2, color = "steelblue") +
  geom_point(size = 3, color = "steelblue") +
  geom_errorbar(aes(ymin = mean_relief - se, ymax = mean_relief + se),
                width = 0.2) +
  labs(title = "Dose-Response Trend: Mean Pain Relief",
       x = "Dose(mg)", y = "Mean Pain Relief ± SE") +
  theme_minimal()

# -------- INTERPRETATION --------

cat("\n=== INTERPRETATION ===\n")
if (page_result$p.value < 0.05) {
  cat("Significant monotonic trend detected(p <", 
      format.pval(page_result$p.value, digits = 3), ")\n")
  cat("Conclusion: Pain relief increases monotonically with dose.\n")
  cat("Effect size(standardized L =", round(L_standardized, 3), 
      ") indicates",
      ifelse(L_standardized > 0.5, "strong", "moderate"), "trend.\n")
} else {
  cat("No significant trend(p =", 
      format.pval(page_result$p.value, digits = 3), ")\n")
}
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
Measurement Precision Ladder Ideal · Ordered Ranks Matrix
Ratio
Consider Repeated Measures ANOVA with Linear Contrasts if distributions are normal. Ranks discard raw-score trajectory.
Power Leak
Ordinal
Maintain Page's logic. The definitive engine for auditing monotonic rank-progression over time.
Peak Signal
Nominal
Abandon Page Strike. Use McNemar or Cochran's Q if categories lack a natural, ordered direction.
Model Collapse
Temporal Trajectory Audit Ordered Longitudinal Flow
Repeated Trends
3+ timepoints.
Stay with Page's Test. Exploit the rank-order hypothesis to increase trend-detection power.
Independent Dose
Cross-sectional trend.
Pivot to Jonckheere-Terpstra if the ordered groups are unrelated populations.
Adaptive Technical Safeguards · adaptive safeguards
non monotonic pattern
  • Friedman Test — Switch to the omnibus rank audit if the data 'Wiggles' (improving then declining).
  • Quadratic RM ANOVA — Model the 'U-shape' curve using parametric polynomial terms.
normal data detected
  • Trend ANOVA Strike — Reclaim 15% power by utilizing mean-based linear contrasts.
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.

Significance is noise. Magnitude is the signal. Measure the impact, not just the probability.
Impact Magnitude
N/A
Recommended Measure
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

The 'Ordered-RM' Minimum: A minimum of 10 participants and 3 timepoints is essential. Page's test is a trend-specific audit—if you have too few levels, the 'Rank-Progression' becomes invisible.

Effect SizeParametersRequired n
Small EffectSubtle Trend (L)n ≈ 60
Medium EffectModerate Trend (L)n ≈ 25
Large EffectStrong Trend (L)n ≈ 12
Key considerations

The 'Directional Mandate': Page's power is concentrated in a single direction (e.g., Week 1 < 2 < 3). If your data follows a complex curve (improving then declining), Page will 'Collapse' and yield a non-significant result even if a trend exists.

G*Power StrategyBenchmark: Non-parametric → Page's Trend (L). Parameters: Study count (k), Number of timepoints (m), Trend magnitude, α = .05, Power = .80. Note: Page's test is 30-40% more powerful than Friedman when your hypothesis predicts a specific order.
09APA narrative blueprint

Reporting

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

Data does not speak for itself. It requires a translator. Be clear, be precise, be honest.
Narrative Arc
10Exhibit Builder

Manuscript Lab

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

Table 1: Page's L Trend Test for Ordered Repeated Measures
TimepointMedianMean RankL (Statistic)zp (Trend)
Baseline42.01.42542.54.12< .001
Month 655.02.15
Month 1262.02.43
Note. N = 40. Hypothesized Trend: Baseline < Month 6 < Month 12.
p < .001Superior Trend Detection. Page's L is significantly more powerful than Friedman's test because it uses the 'Ordered Hypothesis' information.
Header glossary

The Trend Matcher. Calculated by weighting the mean ranks of each timepoint by their expected order. Higher L = better fit to the trend.

Linear Median Probability. Proves that subjects are moving in the hypothesized direction significantly more than random chance.

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. Execute Page's L Trend Test
DescTools::PageTest(as.matrix(df_wide))

# 2. Advanced Trend Audit
PMCMRplus::pageTest(as.matrix(df_wide))
Library stack
R
DescToolsPMCMRplus
Python
scipy.stats
Elite Forensic Strike

Friedman only tests if 'any' difference exists. Page tests if 'this specific' direction exists. Only use Page if you have a theoretical reason to expect an order.

# Compare Friedman vs Page p-values.
# Page should yield a much lower p-value if the trend is correct.
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
Page's test is one-tailed and assumes directional hypothesis specified before data collection. Post-hoc use inflates Type I error
The correction
Specify trend direction in protocol/preregistration. If no a priori direction, use Friedman test (two-tailed omnibus test)
Why it's wrong
This constitutes multiple testing without correction and doubles Type I error rate
The correction
Test only the predicted direction. If exploratory, use Friedman test or correct for two tests (Bonferroni: α = 0.025)
Why it's wrong
Page's test requires meaningful ordering (e.g., dose levels, time points). Arbitrary ordering invalidates test
The correction
Only use when conditions have natural/theoretical ordering. For unordered groups, use Friedman test
Why it's wrong
Data-driven hypothesis changes invalidate p-values and inflate Type I error
The correction
Never change predicted direction based on observed data. If trend is opposite to prediction, report non-significant result or use two-tailed Friedman
Why it's wrong
Page's test detects any monotonic trend (linear or non-linear). It doesn't require linearity
The correction
Recognize that significant Page's test indicates monotonic pattern, which could be linear or curvilinear (e.g., logarithmic, exponential). Inspect profile plot to characterize trend shape
Why it's wrong
Page's test requires within-subjects design. Ranks are calculated within each subject across conditions
The correction
For independent groups with ordered alternatives, use Jonckheere-Terpstra test
Why it's wrong
If Friedman (omnibus) test is non-significant, Page's test (more specific) is unlikely to be significant. Missing this wastes interpretation effort
The correction
Run Friedman first as preliminary check. If non-significant, consider power issues before interpreting Page's test
Why it's wrong
Excessive ties (>30%) reduce power and may invalidate asymptotic distribution, especially with small samples
The correction
Report tie proportion. If excessive, use exact/permutation Page's test or ordinal mixed-effects model. Always report tie-correction method
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]
Page, E. B. (1963). Ordered hypotheses for multiple treatments: A significance test for linear ranks. Journal of the American Statistical Association, 58(301), 216-230.
Original paper introducing Page's L test
[2]
Siegel, S., & Castellan, N. J. (1988). Nonparametric statistics for the behavioral sciences (2nd ed.). McGraw-Hill.
Comprehensive coverage of Page's test with worked examples
[3]
Hollander, M., Wolfe, D. A., & Chicken, E. (2014). Nonparametric statistical methods (3rd ed.). Wiley.
Detailed treatment of ordered alternatives and Page's test theory
[4]
Thas, O., Best, D. J., & Rayner, J. C. W. (2012). Using orthogonal polynomials to detect trends when data are censored or tied. Australian & New Zealand Journal of Statistics, 54(3), 309-323.
Modern developments in trend tests with ties
[5]
Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. Sage.
Applied guide with Page's test examples in R
statminds · Page'sMind reference · v2.2 · updated 2026-01-1715 of 15 sections