wilcox_effsize()与手动计算效应值差异过大,求排查原因
配对Wilcoxon效应值差异的原因解析
不是你使用wilcox_effsize()处理配对数据的方式有误,而是两个计算方法采用的效应值r公式存在核心差异:
rstatix::wilcox_effsize(paired=TRUE):针对配对设计,效应值r的计算公式为
r = Z / sqrt(n),其中n是配对样本的数量(即你的115名受访者)。这是配对Wilcoxon检验效应量的标准计算逻辑之一,聚焦于配对组内的差异强度。Field等人的rFromWilcox()函数:你得到的更小r值,大概率是函数中误将**总观测数(115×2=230)**作为分母的平方根项,也就是用了
r = Z / sqrt(n×2)。这种处理混淆了配对设计与独立样本设计的样本量逻辑——配对数据的统计量计算应以配对组数量(而非总观测数)为基准。
验证方法
- 分别提取两种计算中的Z统计量:
- 从
wilcox_effsize()的输出中获取Z值; - 从
wilcox.test(paired=TRUE)的结果中,通过qnorm(p.value/2)计算对应的Z值(注意取绝对值)。
- 从
- 手动代入两个公式计算:
- 若
Z / sqrt(115)结果接近0.52,Z / sqrt(230)结果接近0.35,即可确认差异源于分母选择。
- 若
补充说明:不同统计教材对效应值r的计算可能存在细微差异,但配对设计下以配对数n作为分母平方根的方式,更符合配对数据的自由度(n-1)逻辑,是更合理的选择。
内容的提问来源于stack exchange,提问作者Elinguist
相关产品推荐
相关产品推荐

