R: Distribution of the Wilcoxon Signed Rank Statistic

SignRank {stats} | R Documentation

## Distribution of the Wilcoxon Signed Rank Statistic

### Description

Density, distribution function, quantile function and random generation for the distribution of the Wilcoxon Signed Rank statistic obtained from a sample with size `n`.

### Usage

    dsignrank(x, n, log = FALSE)
    psignrank(q, n, lower.tail = TRUE, log.p = FALSE)
    qsignrank(p, n, lower.tail = TRUE, log.p = FALSE)
    rsignrank(nn, n)

### Arguments

`x,q` | vector of quantiles.
`p` | vector of probabilities.
`nn` | number of observations. If `length(nn) > 1`, the length is taken to be the number required.
`n` | number(s) of observations in the sample(s). A positive integer, or a vector of such integers.
`log, log.p` | logical; if TRUE, probabilities p are given as log(p).
`lower.tail` | logical; if TRUE (default), probabilities are P[X ≤ x], otherwise, P[X > x].

### Details

This distribution is obtained as follows. Let `x` be a sample of size `n` from a continuous distribution symmetric about the origin. Then the Wilcoxon signed rank statistic is the sum of the ranks of the absolute values `x[i]` for which `x[i]` is positive. This statistic takes values between 0 and n(n+1)/2, and its mean and variance are n(n+1)/4 and n(n+1)(2n+1)/24, respectively.

If either of the first two arguments is a vector, the recycling rule is used to do the calculations for all combinations of the two up to the length of the longer vector.

### Value

`dsignrank` gives the density, `psignrank` gives the distribution function, `qsignrank` gives the quantile function, and `rsignrank` generates random deviates.

### Author(s)

Kurt Hornik; efficiency improvement by Ivo Ugrina.

### See Also

`wilcox.test` to calculate the statistic from data, find p values and so on.

Distributions for standard distributions, including `dwilcox` for the distribution of two-sample Wilcoxon rank sum statistic.

### Examples

    require(graphics)

    par(mfrow=c(2,2))
    for(n in c(4:5,10,40)) {
      x <- seq(0, n*(n+1)/2, length=501)
      plot(x, dsignrank(x,n=n), type='l', main=paste("dsignrank(x,n=",n,")"))
    }

[Package stats version 2.15.1 Index]