当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R Wilcoxon Wilcoxon 秩和统计量的分布


R语言 Wilcoxon 位于 stats 包(package)。

说明

分别从大小为 mn 的样本获得的 Wilcoxon 秩和统计量分布的密度、分布函数、分位数函数和随机生成。

用法

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

分位数向量。

p

概率向量。

nn

观察次数。如果是 length(nn) > 1 ,则长度被视为所需的数量。

m, n

分别是第一个和第二个样本中的观测值数量。可以是正整数向量。

log, log.p

逻辑性;如果为 TRUE,则概率 p 以 log(p) 形式给出。

lower.tail

逻辑性;如果为 TRUE(默认值),则概率为 ,否则为

细节

该分布的获得如下。令 xy 为大小为 mn 的两个随机独立样本。那么 Wilcoxon 秩和统计量就是 y[j] 不大于 x[i] 的所有对 (x[i], y[j]) 的数量。该统计量取 0m * n 之间的值,其均值和方差分别为 m * n / 2m * n * (m + n + 1) / 12

如果前三个参数中的任何一个是向量,则使用循环规则对三个参数的所有组合进行计算,直到最长向量的长度。

dwilcox 给出密度,pwilcox 给出分布函数,qwilcox 给出分位数函数,rwilcox 生成随机偏差。

结果的长度由 rwilcoxnn 确定,并且是其他函数的数值参数长度的最大值。

nn 之外的数字参数将被回收到结果的长度。仅使用逻辑参数的第一个元素。

警告

这些函数可能会使用大量内存和堆栈(甚至会崩溃)R如果超出堆栈限制并且堆栈检查未到位)如果一个样本很大(几千或更多)。

注意

S-PLUS 使用 Wilcoxon 统计量的不同(但等效)定义:有关详细信息,请参阅wilcox.test

例子

require(graphics)

x <- -1:(4*6 + 1)
fx <- dwilcox(x, 4, 6)
Fx <- pwilcox(x, 4, 6)

layout(rbind(1,2), widths = 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")

作者

Kurt Hornik

来源

这些 ("d","p","q") 是基于 cwilcox(k, m, n) 通过递归计算的,cwilcox(k, m, n) 是来自大小为 mn 的样本中具有统计数据 k 的选择数量,它本身是递归计算的,并且结果被缓存。然后dwilcoxpwilcoxcwilcox的适当值相加,并且qwilcox基于反转。

rwilcox生成排名的随机排列并评估统计数据。请注意,它基于与以下相同的 C 代码sample(),因此由下式决定.Random.seed,特别是来自RNGkind(sample.kind = ..)这改变了R版本3.6.0。

也可以看看

wilcox.test 根据数据计算统计量,查找 p 值等。

Distributions 用于标准分布,包括 dsignrank 用于单样本 Wilcoxon 符号秩统计量的分布。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Distribution of the Wilcoxon Rank Sum Statistic。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。