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

如何在R的model summary包中为相关性表添加p值列?

为summary_correlation生成的相关性表添加P值列

方法一:利用summary_correlation内置参数直接生成

modelsummary的summary_correlation函数支持通过statistic参数指定额外统计量,直接添加p值列:

library(modelsummary)
# 假设你的数据集名为df,包含目标13个变量
summary_correlation(df,
                    statistic = "p.value",  # 指定添加p值统计量
                    statistic_override = function(x) sprintf("%.3f", x))  # 可选:格式化p值为3位小数

该参数会自动在相关性系数列后追加p值列,无需额外处理数据结构。

方法二:手动计算并合并相关性与p值(更灵活)

如果内置参数无法满足自定义需求,可以先单独计算相关系数和对应p值,再合并后用modelsummary输出:

library(modelsummary)
library(psych)
library(reshape2)

# 计算带p值的相关矩阵(可替换method为"spearman"等)
corr_out <- psych::corr.test(df, method = "pearson")

# 将系数矩阵和p值矩阵转为长格式
corr_long <- melt(corr_out$r)
p_long <- melt(corr_out$p)

# 合并数据并设置列名
combined <- merge(corr_long, p_long, by = c("Var1", "Var2"))
colnames(combined) <- c("变量1", "变量2", "相关系数", "P值")

# 输出可发表级表格(output可指定"latex"/"html"/"gt"等格式)
modelsummary(combined, output = "gt")

如果需要针对特定变量对计算,也可以用cor.test循环遍历变量组合,提取p值后合并到原表格中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 06:28:17