Wilcoxon {base} | R Documentation |
Density, distribution function, quantile function and random
generation for the distribution of the Wilcoxon rank sum statistic
obtained from samples with size m
and n
, respectively.
dwilcox(x, m, n, log = FALSE)
pwilcox(q, m, n, lower.tail = TRUE, log.p = FALSE)
qwilcox(p, m, n, lower.tail = TRUE, log.p = FALSE)
rwilcox(nn, m, n)
x , q |
vector of quantiles. |
p |
vector of probabilities. |
nn |
number of observations. If |
m , n |
numbers of observations in the first and second sample, respectively. |
log , log.p |
logical; if TRUE, probabilities p are given as log(p). |
lower.tail |
logical; if TRUE (default), probabilities are
|
This distribution is obtained as follows. Let x
and y
be two random, independent samples of size m
and n
.
Then the Wilcoxon rank sum statistic is the number of all pairs
(x[i], y[j])
for which y[j]
is not greater than
x[i]
. This statistic takes values between 0
and
m * n
, and its mean and variance are m * n / 2
and
m * n * (m + n + 1) / 12
, respectively.
dwilcox
gives the density,
pwilcox
gives the distribution function,
qwilcox
gives the quantile function, and
rwilcox
generates random deviates.
Kurt Hornik hornik@ci.tuwien.ac.at
dsignrank
etc, for the one-sample Wilcoxon
rank statistic.
x <- -1:(4*6 + 1)
fx <- dwilcox(x, 4, 6)
all(fx == dwilcox(x, 6, 4))
Fx <- pwilcox(x, 4, 6)
all(abs(Fx - cumsum(fx)) < 10 * .Machine$double.eps)
layout(rbind(1,2),width=1,heights=c(3,2))
plot(x, fx,type='h', col="violet",
main= "Probabilities (density) of Wilcoxon-Statist.(n=6,m=4)")
plot(x, Fx,type="s", col="blue",
main= "Distribution of Wilcoxon-Statist.(n=6,m=4)")
abline(h=0:1, col="gray20",lty=2)
layout(1)# set back
N <- 200
hist(U <- rwilcox(N, m=4,n=6), breaks=0:25 - 1/2, border="red", col="pink",
sub = paste("N =",N))
mtext("N * f(x), f() = true ``density''", side=3, col="blue")
lines(x, N*fx, type='h', col='blue', lwd=2)
points(x, N*fx, cex=2)
## Better is a Quantile-Quantile Plot
qqplot(U, qw <- qwilcox((1:N - 1/2)/N, m=4,n=6),
main = paste("Q-Q-Plot of empirical and theoretical quantiles",
"Wilcoxon Statistic, (m=4, n=6)",sep="\n"))
n <- as.numeric(names(print(tU <- table(U))))
text(n+.2, n+.5, labels=tU, col="red")