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