| % File src/library/stats/man/kruskal.test.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2014 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{kruskal.test} |
| \alias{kruskal.test} |
| \alias{kruskal.test.default} |
| \alias{kruskal.test.formula} |
| \title{Kruskal-Wallis Rank Sum Test} |
| \description{ |
| Performs a Kruskal-Wallis rank sum test. |
| } |
| \usage{ |
| kruskal.test(x, \dots) |
| |
| \method{kruskal.test}{default}(x, g, \dots) |
| |
| \method{kruskal.test}{formula}(formula, data, subset, na.action, \dots) |
| } |
| \arguments{ |
| \item{x}{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.} |
| \item{g}{a vector or factor object giving the group for the |
| corresponding elements of \code{x}. Ignored with a warning if |
| \code{x} is a list.} |
| \item{formula}{a formula of the form \code{response ~ group} where |
| \code{response} gives the data values and \code{group} a vector or |
| factor of the corresponding groups.} |
| \item{data}{an optional matrix or data frame (or similar: see |
| \code{\link{model.frame}}) containing the variables in the |
| formula \code{formula}. By default the variables are taken from |
| \code{environment(formula)}.} |
| \item{subset}{an optional vector specifying a subset of observations |
| to be used.} |
| \item{na.action}{a function which indicates what should happen when |
| the data contain \code{NA}s. Defaults to |
| \code{getOption("na.action")}.} |
| \item{\dots}{further arguments to be passed to or from methods.} |
| } |
| \details{ |
| \code{kruskal.test} performs a Kruskal-Wallis rank sum test of the |
| null that the location parameters of the distribution of \code{x} |
| are the same in each group (sample). The alternative is that they |
| differ in at least one. |
| |
| If \code{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, |
| \code{g} is ignored, and one can simply use \code{kruskal.test(x)} |
| to perform the test. If the samples are not yet contained in a |
| list, use \code{kruskal.test(list(x, ...))}. |
| |
| Otherwise, \code{x} must be a numeric data vector, and \code{g} must |
| be a vector or factor object of the same length as \code{x} giving |
| the group for the corresponding elements of \code{x}. |
| } |
| \value{ |
| A list with class \code{"htest"} containing the following components: |
| \item{statistic}{the Kruskal-Wallis rank sum statistic.} |
| \item{parameter}{the degrees of freedom of the approximate |
| chi-squared distribution of the test statistic.} |
| \item{p.value}{the p-value of the test.} |
| \item{method}{the character string \code{"Kruskal-Wallis rank sum test"}.} |
| \item{data.name}{a character string giving the names of the data.} |
| } |
| \references{ |
| Myles Hollander and Douglas A. Wolfe (1973), |
| \emph{Nonparametric Statistical Methods.} |
| New York: John Wiley & Sons. |
| Pages 115--120. |
| } |
| \seealso{ |
| The Wilcoxon rank sum test (\code{\link{wilcox.test}}) as the special |
| case for two samples; |
| \code{\link{lm}} together with \code{\link{anova}} for performing |
| one-way location analysis under normality assumptions; with Student's |
| t test (\code{\link{t.test}}) as the special case for two samples. |
| |
| \code{\link[coin:LocationTests]{wilcox_test}} in package |
| \CRANpkg{coin} for exact, asymptotic and Monte Carlo |
| \emph{conditional} p-values, including in the presence of ties. |
| } |
| \examples{ |
| ## 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) |
| } |
| \keyword{htest} |