kruskal.test              package:stats              R Documentation

Kruskal-Wallis Rank Sum Test

Description:

     Performs a Kruskal-Wallis rank sum test.

Usage:

     kruskal.test(x, ...)

     ## Default S3 method:
     kruskal.test(x, g, ...)

     ## S3 method for class 'formula':
     kruskal.test(formula, data, subset, na.action, ...)

Arguments:

       x: a numeric vector of data values, or a list of numeric data
          vectors.

       g: a vector or factor object giving the group for the
          corresponding elements of 'x'.  Ignored if 'x' is a list.

 formula: a formula of the form 'lhs ~ rhs' where 'lhs' gives the data
          values and 'rhs' the corresponding groups.

    data: an optional data frame containing the variables in the model
          formula.

  subset: an optional vector specifying a subset of observations to be
          used.

na.action: a function which indicates what should happen when the data
          contain 'NA's.  Defaults to 'getOption("na.action")'.

     ...: further arguments to be passed to or from methods.

Details:

     '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'.

Value:

     A list with class '"htest"' containing the following components: 

statistic: the Kruskal-Wallis rank sum statistic.

parameter: the degrees of freedom of the approximate chi-squared
          distribution of the test statistic.

 p.value: the p-value of the test.

  method: the character string '"Kruskal-Wallis rank sum test"'.

data.name: a character string giving the names of the data.

References:

     Myles Hollander & Douglas A. Wolfe (1973), _Nonparametric
     statistical inference_. 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.

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.
     data(airquality)
     boxplot(Ozone ~ Month, data = airquality)
     kruskal.test(Ozone ~ Month, data = airquality)

