You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何correlation与rstatix多变量相关检验的p值存在差异?

解决correlation包多变量Spearman相关p值异常问题

问题原因

  • correlation包处理多变量相关分析时,默认会对p值执行多重检验校正(默认方法为"holm"),目的是降低多次检验带来的假阳性风险。
  • 你的示例数据是完全随机生成的,变量间真实相关系数为0,经过多重校正后,原本的随机小p值会被大幅拉高,最终全部显示为0.999。
  • 而rstatix::cor_test和单独调用的cor.test()默认不做多重检验校正,因此能返回逐检验的原始p值。

解决方案

要保留correlation包的置信区间输出,同时得到与其他工具一致的原始p值,只需在调用correlation()时关闭多重检验校正:

library(correlation)
# 关闭多重检验校正,获取原始p值
cor_result <- correlation(df, method = "spearman", p_adjust = "none")
# 查看结果
print(cor_result)

结果验证

运行上述代码后,correlation返回的p值会与rstatix::cor_test(df, method = "spearman")、cor.test(df$Var1, df$Var2, method = "spearman")的结果完全一致,同时仍保留95%置信区间的输出。

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:22:07