Kruskal-Wallis Rank Sum Test

Performs a Kruskal-Wallis rank sum test.

kruskal.test(x, ...)
"kruskal.test"(x, g, ...)
"kruskal.test"(formula, data, subset, na.action, ...)
a numeric vector of data values, or a list of numeric data vectors. Non-numeric elements of a list will be coerced, with a warning.
a vector or factor object giving the group for the corresponding elements of x. Ignored with a warning if x is a list.
a formula of the form response ~ group where response gives the data values and group a vector or factor of the corresponding groups.
an optional matrix or data frame (or similar: see model.frame) containing the variables in the formula formula. By default the variables are taken from environment(formula).
an optional vector specifying a subset of observations to be used.
a function which indicates what should happen when the data contain NAs. Defaults to getOption("na.action").
further arguments to be passed to or from methods.

kruskal.test performs a Kruskal-Wallis rank sum test of the null that the location parameters of the distribution of x are the same in each group (sample). The alternative is that they differ in at least one.

If x is a list, its elements are taken as the samples to be compared, and hence have to be numeric data vectors. In this case, g is ignored, and one can simply use kruskal.test(x) to perform the test. If the samples are not yet contained in a list, use kruskal.test(list(x, ...)).

Otherwise, x must be a numeric data vector, and g must be a vector or factor object of the same length as x giving the group for the corresponding elements of x.


A list with class "htest" containing the following components:
the Kruskal-Wallis rank sum statistic.
the degrees of freedom of the approximate chi-squared distribution of the test statistic.
the p-value of the test.
the character string "Kruskal-Wallis rank sum test".
a character string giving the names of the data.


Myles Hollander and Douglas A. Wolfe (1973), Nonparametric Statistical Methods. New York: John Wiley & Sons. Pages 115--120.

See Also

The Wilcoxon rank sum test (wilcox.test) as the special case for two samples; lm together with anova for performing one-way location analysis under normality assumptions; with Student's t test (t.test) as the special case for two samples.

wilcox_test in package \href{}{\pkg{#1}}coincoin for exact, asymptotic and Monte Carlo conditional p-values, including in the presence of ties.

  • kruskal.test
  • kruskal.test.default
  • kruskal.test.formula
library(stats) ## Hollander & Wolfe (1973), 116. ## Mucociliary efficiency from the rate of removal of dust in normal ## subjects, subjects with obstructive airway disease, and subjects ## with asbestosis. x <- c(2.9, 3.0, 2.5, 2.6, 3.2) # normal subjects y <- c(3.8, 2.7, 4.0, 2.4) # with obstructive airway disease z <- c(2.8, 3.4, 3.7, 2.2, 2.0) # with asbestosis kruskal.test(list(x, y, z)) ## Equivalently, x <- c(x, y, z) g <- factor(rep(1:3, c(5, 4, 5)), labels = c("Normal subjects", "Subjects with obstructive airway disease", "Subjects with asbestosis")) kruskal.test(x, g) ## Formula interface. require(graphics) boxplot(Ozone ~ Month, data = airquality) kruskal.test(Ozone ~ Month, data = airquality)
Documentation reproduced from package stats, version 3.2.5, License: Part of R 3.2.5

Community examples

Looks like there are no examples yet.