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

请求协助:在0.05显著性水平下开展相关性双侧显著性检验

相关系数双侧显著性检验实现(R语言)

你使用的cor.test()函数已经内置完成了双侧显著性检验,无需额外手动计算,以下是具体说明:

1. Pearson相关的双侧t检验

当指定method = "pearson"时,cor.test()会自动执行检验相关系数是否为0的双侧t检验,默认显著性水平为0.05。输出结果中:

  • t value是t检验统计量
  • p value是双侧检验的p值

直接通过p值判断:若p值 < 0.05,则在0.05显著性水平下拒绝原假设(原假设为相关系数=0),认为变量间存在显著线性相关;反之则不拒绝原假设。

2. Spearman秩相关的显著性检验

Spearman秩相关的显著性检验并非t检验,而是基于秩分布的检验。cor.test()同样会输出对应的检验统计量(如S统计量或近似Z统计量)和双侧p值,判断逻辑与Pearson一致:p值 < 0.05则认为秩相关显著。

优化后的代码示例

可以将检验结果存入变量,方便查看和后续分析:

dat_link <- url("KiGGS03_06.RData")
load(dat_link)

dat <- KiGGS03_06

# 转换变量类型并处理缺失值
whr <- as.numeric(as.character(dat$whr))
bp <- as.numeric(as.character(dat$sys12))
bmiB <- as.numeric(as.character(dat$bmiB))

# Pearson相关及双侧检验(指定置信水平0.95对应0.05显著性水平)
pearson_whr_bp <- cor.test(whr, bp, method = "pearson", conf.level = 0.95)
pearson_bmiB_bp <- cor.test(bmiB, bp, method = "pearson", conf.level = 0.95)

# Spearman秩相关及双侧检验
spearman_whr_bp <- cor.test(whr, bp, method = "spearman", conf.level = 0.95)
spearman_bmiB_bp <- cor.test(bmiB, bp, method = "spearman", conf.level = 0.95)

# 打印结果
print(pearson_whr_bp)
print(pearson_bmiB_bp)
print(spearman_whr_bp)
print(spearman_bmiB_bp)

手动计算Pearson的t检验(可选)

如果需要手动验证t检验统计量,公式为:t = r × √[(n-2)/(1-r²)],其中r是Pearson相关系数,n为有效样本量(剔除缺失值后的数量)。代码实现:

# 计算Pearson相关系数(仅使用无缺失值的样本)
r_pearson <- cor(whr, bp, use = "complete.obs")
# 有效样本量
n <- sum(complete.cases(whr, bp))
# 手动计算t统计量
t_stat <- r_pearson * sqrt((n-2)/(1 - r_pearson^2))
# 计算双侧p值(自由度为n-2)
p_value <- 2 * pt(-abs(t_stat), df = n-2)

cat("手动计算的t统计量:", t_stat, "\n")
cat("手动计算的双侧p值:", p_value, "\n")

该结果与cor.test()输出的t统计量和p值完全一致。

内容的提问来源于stack exchange,提问作者María Alejandra Ospino Vergara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:00:55