首页 文章

Wilcoxon秩和检验

提问于
浏览
2

我正在使用简单的数据集进行成对的Wilcoxon测试并获得令人惊讶的结果 . 使用完整集(A,B和C)比较组A和C将返回不同于将A和C与数据子集(仅A和C组)进行比较的p值 .

dfx <- data.frame(group = c(rep('A', 8), rep('B', 15), rep('C', 6)), sex = sample(c("M", "F"), size = 29, replace = TRUE), age = runif(n = 29, min = 18, max = 54))
pairwise.wilcox.test(dfx$age, dfx$group, pool.sd=F, paired=F)

Pairwise comparisons using Wilcoxon rank sum test 
data:  dfx$age and dfx$group 
  A    B   
B 0.55 -   
C 0.13 0.19
P value adjustment method: holm 

dfx.ac<-dfx[which(dfx$group!='B'),]
pairwise.wilcox.test(dfx.ac$age, dfx.ac$group, pool.sd=F, paired=F)

Pairwise comparisons using Wilcoxon rank sum test 
data:  dfx.ac$age and dfx.ab$group 
  A    
C 0.043
P value adjustment method: holm

对个别数据使用Wilcoxon测试会返回相同的p值 .

a<-dfx[which(dfx$group=='A'),]$age
c<-dfx[which(dfx$group=='C'),]$age
wilcox.test(a,c)
W = 8, p-value = 0.04262

wilcox.test(dfx.ac$age~dfx.ac$group)
W = 8, p-value = 0.04262

我对pairwise.wilcox.test(dfx $ age,dfx $ group,pool.sd = F,配对= F)做错了什么?

如果我比较一组3组或4组,则相同 . dfx < - data.frame(group = c(rep('A',8),rep('B',15),rep('C',6),rep('D',9)),sex = sample(c(“M”,“F”),size = 38,replace = TRUE),age = runif(n = 38,min = 18,max = 54))

dfx.nb<-dfx[which(dfx$group!='B'),]

pairwise.wilcox.test(dfx$age,dfx$group, pool.sd=F, paired=F)
  A    B    C   
B 1.00 -    -   
C 0.57 0.62 -   
D 0.56 0.56 1.00

pairwise.wilcox.test(dfx.nb$age,dfx.nb$group, pool.sd=F, paired=F)
  A    C   
C 0.28 -   
D 0.28 0.95

1 回答

  • 4

    检查 ?pairwise.wilcox.test . 此功能实现了多重比较的校正,这可以解释差异 .

    Edited to add:

    当您进行单一比较时, P 的p值可以被解释为意味着在无效的零假设下获得观察数据的概率等于 P . 因此,如果我们想确保在零假设无效的情况下观察我们的数据的概率小于 0.05 ,我们只需要检查是否 p<0.05 (在统计中,我们称之为重要性的阈值 alpha ,并且经常是感兴趣的是 p < alpha=0.05 ) . 但是如果你比较大量的组,那么你发现 at least one p值小于 alpha 的概率远大于alpha!

    例如,假设我做了两次独立的比较 . 如果零假设为真,则每个假设的概率为0.05,产生的p值小于 alpha=0.05 . 但 at least one of them 产生p值小于 alpha=0.05 的可能性是 1-0.95*0.95 = 0.0975 . 因此,我们有几乎十分之一的I型错误机会(如果零假设是正确的) . 如果我们进行100次比较,我们几乎可以肯定,如果我们不加批判地解释我们的p值,我们将提交类型I错误 .

    为了避免这种情况,我们可以"adjust"的p值来确保我们控制I类错误率 . 最保守的选择,称为Bonferroni校正,是通过将它除以我们执行的比较次数来调整 alpha (其效果类似于将我们的p值乘以比较次数) .

    pairwise.wilcox.test 正在自动调整p值,以便可以针对 alpha=0.05 进行解释,而不会严重夸大I类错误率 . 您进行的比较越多,为了控制类型1错误率,需要调整的p值越多 . [顺便说一句,请注意校正有点复杂,因为三个比较不再完全相互独立(你可以通过注意 (a > b) & (b > c) 暗示 a > c 来看到这一点) . 实际上,我们在进行调整时通常不会考虑这种非独立性 . ]

    调整方法定义 pairwise.wilcox.test 如何估计必要的调整 . 更改调整方法将更改估计必要调整的详细信息,并可能会更改您的p值 . 调整方法 Holm 可能实现Holm-Bonferroni method .

相关问题