wilcox.test              package:ctest              R Documentation

Wilcoxon Rank Sum and Signed Rank Tests

Description:

     Performs one and two sample Wilcoxon tests on vectors of data.

Usage:

     wilcox.test(x, y = NULL, alternative = c("two.sided", "less", "greater"),
                 mu = 0, paired = FALSE, exact = NULL, correct = TRUE, 
                 conf.int = FALSE, conf.level = 0.95, ...)
     wilcox.test(formula, data, subset, na.action, ...)

Arguments:

       x: numeric vector of data values.

       y: an optional numeric vector of data values.

alternative: a character string specifying the alternative hypothesis,
          must be one of `"two.sided"' (default), `"greater"' or
          `"less"'.  You can specify just the initial letter.

      mu: a number specifying an optional location parameter.

  paired: a logical indicating whether you want a paired test.

   exact: a logical indicating whether an exact p-value should be
          computed.

 correct: a logical indicating whether to apply continuity correction
          in the normal approximation for the p-value.

conf.int: a logical indicating whether a confidence interval should be
          computed.

conf.level: confidence level of the interval.

 formula: a formula of the form `lhs ~ rhs' where `lhs' is a numeric
          variable giving the data values and `rhs' a factor with two
          levels giving 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:

     The formula interface is only applicable for the 2-sample tests.

     If only `x' is given, or if both `x' and `y' are given and
     `paired' is `TRUE', a Wilcoxon signed rank test of the null that
     the distribution of `x' (in the one sample case) or of `x-y' (in
     the paired two sample case) is symmetric about `mu' is performed.

     Otherwise, if both `x' and `y' are given and `paired' is `FALSE',
     a Wilcoxon rank sum test (equivalent to the Mann-Whitney test) is
     carried out.  In this case, the null hypothesis is that the
     location of the distributions of `x' and `y' differ by `mu'.

     By default (if `exact' is not specified), an exact p-value is
     computed if the samples contain less than 50 finite values and
     there are no ties.  Otherwise, a normal approximation is used.

     Optionally (if argument `conf.int' is true), a nonparametric
     confidence interval and an estimator for the pseudomedian
     (one-sample case) or for the difference of the location parameters
     `x-y' is computed.  (The pseudomedian of a distribution F is the
     median of the distribution of (u+v)/2, where u and v are
     independent, each with distribution F.  If F is symmetric, then
     the pseudomedian and median coincide.  See Hollander & Wolfe
     (1973), page 34.)  If exact p-values are available, an exact
     confidence interval is obtained by the algorithm described in
     Bauer (1972), and the Hodges-Lehmann estimator is employed. 
     Otherwise, the returned confidence interval and point estimate are
     based on normal approximations.

Value:

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

statistic: the value of the test statistic with a name describing it.

parameter: the parameter(s) for the exact distribution of the test
          statistic.

 p.value: the p-value for the test.

null.value: the location parameter `mu'.

alternative: a character string describing the alternative hypothesis.

  method: the type of test applied.

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

conf.int: a confidence interval for the location parameter. (Only
          present if argument `conf.int = TRUE'.)

estimate: an estimate of the location parameter. (Only present if
          argument `conf.int = TRUE'.)

References:

     Myles Hollander & Douglas A. Wolfe (1973), Nonparametric
     statistical inference. New York: John Wiley & Sons. Pages 27-33
     (one-sample), 68-75 (two-sample).

     David F. Bauer (1972), Constructing confidence sets using rank
     statistics. Journal of the American Statistical Association 67,
     687-690.

See Also:

     `kruskal.test' for testing homogeneity in location parameters in
     the case of two or more samples; `t.test' for a parametric
     alternative under normality assumptions.

Examples:

     ## One-sample test.
     ## Hollander & Wolfe (1973), 29f.
     ## Hamilton depression scale factor measurements in 9 patients with
     ##  mixed anxiety and depression, taken at the first (x) and second
     ##  (y) visit after initiation of a therapy (administration of a
     ##  tranquilizer).
     x <- c(1.83,  0.50,  1.62,  2.48, 1.68, 1.88, 1.55, 3.06, 1.30)
     y <- c(0.878, 0.647, 0.598, 2.05, 1.06, 1.29, 1.06, 3.14, 1.29)
     wilcox.test(x, y, paired = TRUE, alternative = "greater")
     wilcox.test(y - x, alternative = "less")    # The same.
     wilcox.test(y - x, alternative = "less",
                 exact = FALSE, correct = FALSE) # H&W large sample
                                                 # approximation

     ## Two-sample test.
     ## Hollander & Wolfe (1973), 69f.
     ## Permeability constants of the human chorioamnion (a placental
     ##  membrane) at term (x) and between 12 to 26 weeks gestational
     ##  age (y).  The alternative of interest is greater permeability
     ##  of the human chorioamnion for the term pregnancy.
     x <- c(0.80, 0.83, 1.89, 1.04, 1.45, 1.38, 1.91, 1.64, 0.73, 1.46)
     y <- c(1.15, 0.88, 0.90, 0.74, 1.21)
     wilcox.test(x, y, alternative = "g")        # greater
     wilcox.test(x, y, alternative = "greater",
                 exact = FALSE, correct = FALSE) # H&W large sample
                                                 # approximation

     wilcox.test(rnorm(10), rnorm(10, 2), conf.int = TRUE)

     ## Formula interface.
     data(airquality)
     boxplot(Ozone ~ Month, data = airquality)
     wilcox.test(Ozone ~ Month, data = airquality,
                 subset = Month %in% c(5, 8))

