• Descriptive
    • Moments
    • Concentration
    • Central Tendency
    • Variability
    • Stem-and-Leaf Plot
    • Histogram & Frequency Table
    • Data Quality Forensics
    • Conditional EDA
    • Quantiles
    • Kernel Density Estimation
    • Normal QQ Plot
    • Bootstrap Plot

    • Multivariate Descriptive Statistics
  • Distributions
    • Binomial Probabilities
    • Geometric Probabilities
    • Negative Binomial Probabilities
    • Hypergeometric Probabilities
    • Multinomial Probabilities
    • Dirichlet
    • Poisson Probabilities

    • Exponential
    • Gamma
    • Erlang
    • Weibull
    • Rayleigh
    • Maxwell-Boltzmann
    • Lognormal
    • Pareto
    • Inverse Gamma
    • Inverse Chi-Square

    • Beta
    • Power
    • Beta Prime (Inv. Beta)
    • Triangular

    • Normal (area)
    • Logistic
    • Laplace
    • Cauchy (standard)
    • Cauchy (location-scale)
    • Gumbel
    • Fréchet
    • Generalized Extreme Value

    • Normal RNG
    • ML Fitting
    • Tukey Lambda PPCC
    • Box-Cox Normality Plot
    • Noncentral t
    • Noncentral F
    • Sample Correlation r

    • Empirical Tests
  • Hypotheses
    • Theoretical Aspects of Hypothesis Testing
    • Bayesian Inference
    • Minimum Sample Size

    • Empirical Tests
    • Multivariate (pair-wise) Testing
  • Models
    • Manual Model Building
    • Guided Model Building
  • Time Series
    • Time Series Plot
    • Decomposition
    • Exponential Smoothing

    • Blocked Bootstrap Plot
    • Mean Plot
    • (P)ACF
    • VRM
    • Standard Deviation-Mean Plot
    • Spectral Analysis
    • ARIMA

    • Cross Correlation Function
    • Granger Causality
  1. Hypothesis Testing
  2. 127  Kruskal-Wallis Test
  • Preface
  • Getting Started
    • 1  Introduction
    • 2  Why Do We Need Innovative Technology?
    • 3  Basic Definitions
    • 4  The Big Picture: Why We Analyze Data
  • Introduction to Probability
    • 5  Definitions of Probability
    • 6  Jeffreys’ axiom system
    • 7  Bayes’ Theorem
    • 8  Sensitivity and Specificity
    • 9  Naive Bayes Classifier
    • 10  Law of Large Numbers

    • 11  Problems
  • Probability Distributions
    • 12  Bernoulli Distribution
    • 13  Binomial Distribution
    • 14  Geometric Distribution
    • 15  Negative Binomial Distribution
    • 16  Hypergeometric Distribution
    • 17  Multinomial Distribution
    • 18  Poisson Distribution

    • 19  Uniform Distribution (Rectangular Distribution)
    • 20  Normal Distribution (Gaussian Distribution)
    • 21  Gaussian Naive Bayes Classifier
    • 22  Chi Distribution
    • 23  Chi-squared Distribution (1 parameter)
    • 24  Chi-squared Distribution (2 parameters)
    • 25  Student t-Distribution
    • 26  Fisher F-Distribution
    • 27  Exponential Distribution
    • 28  Lognormal Distribution
    • 29  Gamma Distribution
    • 30  Beta Distribution
    • 31  Weibull Distribution
    • 32  Pareto Distribution
    • 33  Inverse Gamma Distribution
    • 34  Rayleigh Distribution
    • 35  Erlang Distribution
    • 36  Logistic Distribution
    • 37  Laplace Distribution
    • 38  Gumbel Distribution
    • 39  Cauchy Distribution
    • 40  Triangular Distribution
    • 41  Power Distribution
    • 42  Beta Prime Distribution
    • 43  Sample Correlation Distribution
    • 44  Dirichlet Distribution
    • 45  Generalized Extreme Value (GEV) Distribution
    • 46  Frechet Distribution
    • 47  Noncentral t Distribution
    • 48  Noncentral F Distribution
    • 49  Inverse Chi-Squared Distribution
    • 50  Maxwell-Boltzmann Distribution
    • 51  Distribution Relationship Map

    • 52  Problems
  • Descriptive Statistics & Exploratory Data Analysis
    • 53  Types of Data
    • 54  Datasheets

    • 55  Frequency Plot (Bar Plot)
    • 56  Frequency Table
    • 57  Contingency Table
    • 58  Binomial Classification Metrics
    • 59  Confusion Matrix
    • 60  ROC Analysis

    • 61  Stem-and-Leaf Plot
    • 62  Histogram
    • 63  Data Quality Forensics
    • 64  Quantiles
    • 65  Central Tendency
    • 66  Variability
    • 67  Skewness & Kurtosis
    • 68  Concentration
    • 69  Notched Boxplot
    • 70  Scatterplot
    • 71  Pearson Correlation
    • 72  Rank Correlation
    • 73  Partial Pearson Correlation
    • 74  Simple Linear Regression
    • 75  Moments
    • 76  Quantile-Quantile Plot (QQ Plot)
    • 77  Normal Probability Plot
    • 78  Probability Plot Correlation Coefficient Plot (PPCC Plot)
    • 79  Box-Cox Normality Plot
    • 80  Kernel Density Estimation
    • 81  Bivariate Kernel Density Plot
    • 82  Conditional EDA: Panel Diagnostics
    • 83  Bootstrap Plot (Central Tendency)
    • 84  Survey Scores Rank Order Comparison
    • 85  Cronbach Alpha

    • 86  Equi-distant Time Series
    • 87  Time Series Plot (Run Sequence Plot)
    • 88  Mean Plot
    • 89  Blocked Bootstrap Plot (Central Tendency)
    • 90  Standard Deviation-Mean Plot
    • 91  Variance Reduction Matrix
    • 92  (Partial) Autocorrelation Function
    • 93  Periodogram & Cumulative Periodogram

    • 94  Problems
  • Hypothesis Testing
    • 95  Normal Distributions revisited
    • 96  The Population
    • 97  The Sample
    • 98  The One-Sided Hypothesis Test
    • 99  The Two-Sided Hypothesis Test
    • 100  When to use a one-sided or two-sided test?
    • 101  What if \(\sigma\) is unknown?
    • 102  The Central Limit Theorem (revisited)
    • 103  Statistical Test of the Population Mean with known Variance
    • 104  Statistical Test of the Population Mean with unknown Variance
    • 105  Statistical Test of the Variance
    • 106  Statistical Test of the Population Proportion
    • 107  Statistical Test of the Standard Deviation \(\sigma\)
    • 108  Statistical Test of the difference between Means -- Independent/Unpaired Samples
    • 109  Statistical Test of the difference between Means -- Dependent/Paired Samples
    • 110  Statistical Test of the difference between Variances -- Independent/Unpaired Samples

    • 111  Hypothesis Testing for Research Purposes
    • 112  Decision Thresholds, Alpha, and Confidence Levels
    • 113  Bayesian Inference for Decision-Making
    • 114  One Sample t-Test
    • 115  Skewness & Kurtosis Tests
    • 116  Paired Two Sample t-Test
    • 117  Wilcoxon Signed-Rank Test
    • 118  Unpaired Two Sample t-Test
    • 119  Unpaired Two Sample Welch Test
    • 120  Two One-Sided Tests (TOST) for Equivalence
    • 121  Mann-Whitney U test (Wilcoxon Rank-Sum Test)
    • 122  Bayesian Two Sample Test
    • 123  Median Test based on Notched Boxplots
    • 124  Chi-Squared Tests for Count Data
    • 125  Kolmogorov-Smirnov Test
    • 126  One Way Analysis of Variance (1-way ANOVA)
    • 127  Kruskal-Wallis Test
    • 128  Two Way Analysis of Variance (2-way ANOVA)
    • 129  Repeated Measures ANOVA
    • 130  Friedman Test
    • 131  Testing Correlations
    • 132  A Note on Causality

    • 133  Problems
  • Regression Models
    • 134  Simple Linear Regression Model (SLRM)
    • 135  Multiple Linear Regression Model (MLRM)
    • 136  Logistic Regression
    • 137  Generalized Linear Models
    • 138  Multinomial and Ordinal Logistic Regression
    • 139  Cox Proportional Hazards Regression
    • 140  Conditional Inference Trees
    • 141  Leaf Diagnostics for Conditional Inference Trees
    • 142  Conditional Random Forests
    • 143  Hypothesis Testing with Linear Regression Models (from a Practical Point of View)

    • 144  Problems
  • Introduction to Time Series Analysis
    • 145  Case: the Market of Health and Personal Care Products
    • 146  Decomposition of Time Series
    • 147  Ad hoc Forecasting of Time Series
  • Box-Jenkins Analysis
    • 148  Introduction to Box-Jenkins Analysis
    • 149  Theoretical Concepts
    • 150  Stationarity
    • 151  Identifying ARMA parameters
    • 152  Estimating ARMA Parameters and Residual Diagnostics
    • 153  Forecasting with ARIMA models
    • 154  Intervention Analysis
    • 155  Cross-Correlation Function
    • 156  Transfer Function Noise Models
    • 157  General-to-Specific Modeling
  • Model Building Strategies
    • 158  Introduction to Model Building Strategies
    • 159  Manual Model Building
    • 160  Model Validation
    • 161  Regularization Methods
    • 162  Hyperparameter Optimization Strategies
    • 163  Guided Model Building in Practice
    • 164  Diagnostics, Revision, and Guided Forecasting
    • 165  Leakage, Target Encoding, and Robust Regression
  • References
  • Appendices
    • Appendices
    • A  Method Selection Guide
    • B  Presentations and Teaching Materials
    • C  R Language Concepts for Statistical Computing
    • D  Matrix Algebra
    • E  Standard Normal Table (Gaussian Table)
    • F  Critical values of Student’s \(t\) distribution with \(\nu\) degrees of freedom
    • G  Upper-tail critical values of the \(\chi^2\)-distribution with \(\nu\) degrees of freedom
    • H  Lower-tail critical values of the \(\chi^2\)-distribution with \(\nu\) degrees of freedom

Table of contents

  • 127.1 Hypotheses
  • 127.2 Analysis based on p-values and confidence intervals
    • 127.2.1 Software
    • 127.2.2 Data & Parameters
    • 127.2.3 Output
  • 127.3 R code
  • 127.4 Assumptions
  • 127.5 Alternatives
  1. Hypothesis Testing
  2. 127  Kruskal-Wallis Test

127  Kruskal-Wallis Test

The Kruskal-Wallis Test (Kruskal and Wallis 1952) is a non-parametric alternative to the One-way ANOVA (Chapter 126). It is used when the assumptions of the One-way ANOVA (normality, equal variances) are not satisfied, or when the data are measured on an ordinal scale. The test is based on ranks rather than raw values and extends the Mann-Whitney U test (Chapter 121) to three or more independent groups.

127.1 Hypotheses

The Kruskal-Wallis Test evaluates whether the distributions of all groups are identical:

\[ \begin{cases}\text{H}_0: F_1 = F_2 = \ldots = F_k \\\text{H}_A: \exists\; i \neq j: F_i \neq F_j\end{cases} \]

where \(F_i\) denotes the distribution function of group \(i\) and \(k\) is the number of independent groups.

Under the assumption that all groups have similar distributional shapes (differing only in location), the test effectively compares group medians. Without this assumption, a significant result indicates that at least two groups differ in their distributions, but the nature of the difference (location, spread, or shape) cannot be determined from the test alone.

The test statistic \(H\) is computed by

\[ H = \frac{12}{N(N+1)} \sum_{i=1}^{k} \frac{R_i^2}{n_i} - 3(N+1), \]

where \(R_i\) is the sum of ranks in group \(i\), \(n_i\) is the group size, and \(N = \\sum_i n_i\).

When ties are present, a tie-correction factor should be applied (R does this automatically).

Operationally this means:

  1. Rank all observations from all groups together (ignoring group membership).
  2. Compute the rank-sum \(R_i\) for each group.
  3. Compare observed rank-sums to what would be expected if all groups had the same distribution.

The test statistic \(H\) approximately follows a Chi-squared distribution with \(k - 1\) degrees of freedom when sample sizes are sufficiently large.

127.2 Analysis based on p-values and confidence intervals

127.2.1 Software

The Kruskal-Wallis Test can be computed using the R module available in RFC under the “Hypotheses / Empirical Tests” menu item (select “Kruskal-Wallis Test” from the ANOVA type dropdown), or through “Hypotheses / Multivariate (pair-wise) Testing” (use the Boxplot tab with type “nonparametric”). An example using the multidesc app is available here (click on violin plot (between variance)).

127.2.2 Data & Parameters

The data should contain:

  • A quantitative (or ordinal) response variable
  • A categorical variable identifying the group membership
  • Three or more independent groups

The data can be in wide format (one column per group) or long format (one column for the response, one column for the group label).

127.2.3 Output

Consider the same anorexia treatment example from Chapter 126 where we measure the post-therapy weight of patients across three treatments (“CBT”, “Control”, and “FT”). The results from the Kruskal-Wallis analysis are shown below.

Interactive Shiny app (click to load).
Open in new tab

The output reports the Kruskal-Wallis chi-squared statistic, group descriptive statistics, and (if the overall test is significant) post-hoc pairwise Wilcoxon rank-sum tests with Bonferroni correction. The plots show box plots for the raw values and ranks across groups.

To compute the same analysis on your local machine:

# Using the anorexia dataset
library(MASS)
data(anorexia)

# Kruskal-Wallis test
kruskal.test(Postwt ~ Treat, data = anorexia)

    Kruskal-Wallis rank sum test

data:  Postwt by Treat
Kruskal-Wallis chi-squared = 12.881, df = 2, p-value = 0.001596

The output reports the Kruskal-Wallis chi-squared statistic, the degrees of freedom (\(k - 1\), where \(k\) is the number of groups), and the p-value. If the p-value is smaller than the chosen type I error \(\alpha\), we reject the Null Hypothesis and conclude that at least two groups differ.

For reporting, include an effect size such as

\[ \epsilon^2 = \frac{H - k + 1}{N - k}. \]

127.2.3.1 Post-hoc: Dunn’s test

When the overall Kruskal-Wallis test is significant, Dunn’s test (Dunn 1964) with Bonferroni correction is used to determine which specific groups differ:

# Dunn's test for post-hoc pairwise comparisons
# Using the PMCMRplus package
if (requireNamespace("PMCMRplus", quietly = TRUE)) {
  library(PMCMRplus)
  kwAllPairsDunnTest(Postwt ~ Treat, data = anorexia, p.adjust.method = "bonferroni")
} else {
  # Alternative: pairwise Wilcoxon rank-sum tests with Bonferroni correction
  pairwise.wilcox.test(anorexia$Postwt, anorexia$Treat, p.adjust.method = "bonferroni")
}
     CBT    Cont  
Cont 0.0858 -     
FT   0.2853 0.0012

The Bonferroni correction inflates the p-values to account for multiple comparisons, controlling the family-wise type I error rate at the chosen \(\alpha\) level.

127.3 R code

To compute the Kruskal-Wallis Test on your local machine, the following script can be used in the R console:

# Example with the built-in iris dataset
# Testing whether Sepal.Width differs across Species
kruskal.test(Sepal.Width ~ Species, data = iris)

# Post-hoc: pairwise Wilcoxon rank-sum tests with Bonferroni correction
pairwise.wilcox.test(iris$Sepal.Width, iris$Species, p.adjust.method = "bonferroni")

    Kruskal-Wallis rank sum test

data:  Sepal.Width by Species
Kruskal-Wallis chi-squared = 63.571, df = 2, p-value = 1.569e-14


    Pairwise comparisons using Wilcoxon rank sum test with continuity correction 

data:  iris$Sepal.Width and iris$Species 

           setosa  versicolor
versicolor 6.4e-13 -         
virginica  2.1e-08 0.014     

P value adjustment method: bonferroni 

Note that the formula syntax response ~ group is used with kruskal.test(), which assumes the data is in long format. Alternatively, a list of numeric vectors can be passed directly.

127.4 Assumptions

The Kruskal-Wallis Test makes the following assumptions:

  • Independent observations: The observations within and between groups must be independent (no paired or repeated measures).
  • Ordinal or continuous outcome: The response variable must be measured on at least an ordinal scale.
  • Similar distributional shape: For the test to be interpreted as a comparison of locations (medians), the distributions across groups should have similar shapes. This is the same assumption as for the Mann-Whitney U test (Chapter 121). Without this assumption, the test compares mean ranks rather than medians.

127.5 Alternatives

  • One-way ANOVA (Chapter 126): When the assumptions of normality and equal variances are satisfied, the parametric ANOVA test has greater statistical power.
  • Permutation tests: A flexible non-parametric alternative that does not require distributional assumptions but can be computationally intensive for large datasets.
Dunn, Olive Jean. 1964. “Multiple Comparisons Using Rank Sums.” Technometrics 6 (3): 241–52. https://doi.org/10.1080/00401706.1964.10490181.
Kruskal, William H., and W. Allen Wallis. 1952. “Use of Ranks in One-Criterion Variance Analysis.” Journal of the American Statistical Association 47 (260): 583–621. https://doi.org/10.1080/01621459.1952.10483441.
126  One Way Analysis of Variance (1-way ANOVA)
128  Two Way Analysis of Variance (2-way ANOVA)

© 2026 Patrick Wessa. Provided as-is, without warranty.

Feedback: e-mail | Anonymous contributions: click to copy (Sats) | click to copy (XMR)

Cookie Preferences