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

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.
The length of the result is determined by nn
for
rsignrank
, and is the maximum of the lengths of the
numerical arguments for the other functions.
The numerical arguments other than nn
are recycled to the
length of the result. Only the first elements of the logical
arguments are used.
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 twosample
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.out = 501)
plot(x, dsignrank(x, n = n), type = "l",
main = paste0("dsignrank(x, n = ", n, ")"))
}