| Wilcoxon {base} | R Documentation |
These functions provide information about the distribution of the
Wilcoxon rank sum statistic obtained from samples with size m
and n, respectively. dwilcox gives the density,
pwilcox gives the distribution function, qwilcox gives
the quantile function, and rwilcox generates random deviates.
dwilcox(x, m, n) pwilcox(q, m, n) qwilcox(p, m, n) rwilcox(nn, m, n)
x,q |
vector of quantiles. |
p |
vector of probabilities. |
nn |
number of observations to generate. |
m,n |
numbers of observations in the first and second sample, respectively. Must be positive integers less than 50. |
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.
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")