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

在R语言箱线图中添加相关系数及CI值的实现问题

问题解决:R语言绘制带相关系数及置信区间的箱线图

核心问题原因

你使用的boxplot()是R基础绘图系统的函数,而stat_cor()是ggpubr包中的ggplot2扩展图层函数,二者属于完全不同的绘图语法体系,无法直接混合使用,这就是代码既不生效也无报错的原因。

解决方案:用ggplot2+ggpubr实现需求

以下是可直接运行的代码,包含箱线图分色、添加相关系数及置信区间的功能:

步骤1:安装并加载所需包

# 第一次使用需安装包
install.packages(c("ggplot2", "ggpubr"))
# 加载包
library(ggplot2)
library(ggpubr)

步骤2:处理数据集(将分类变量转为因子)

你的Q8是整数类型,转为因子更适合作为分类变量绘图:

df6$Q8 <- as.factor(df6$Q8)

步骤3:绘制带相关系数的彩色箱线图

ggplot(df6, aes(x = Q8, y = AI, fill = Q8)) +
  # 绘制箱线图,设置边框颜色
  geom_boxplot(color = "brown") +
  # 添加相关系数及置信区间(这里用Spearman相关,适合有序分类+连续变量)
  stat_cor(method = "spearman", label.x = 2, label.y = max(df6$AI) * 0.95) +
  # 设置标题和坐标轴标签
  labs(
    title = "Q8与AI的关系",
    x = "Q8分组",
    y = "AI值"
  ) +
  # 设置自定义颜色(可选,也可使用默认配色)
  scale_fill_manual(values = c("orange", "lightblue", "lightgreen", "pink")) +
  # 调整主题(可选,让图表更美观)
  theme_minimal() +
  # 移除图例(因为x轴已标注分组,图例重复)
  theme(legend.position = "none")

关键细节说明

  • 箱线图分色:通过aes(fill = Q8)将分组变量映射到填充色,也可使用color = Q8设置边框分色;如果需要自定义颜色,用scale_fill_manual()指定颜色向量即可。
  • 相关系数选择:由于Q8是有序分类变量,AI是连续变量,选择Spearman秩相关更合适;如果是无序分类,可考虑用Pearson相关或其他统计量,修改method参数即可。
  • stat_cor位置调整:通过label.x和label.y控制相关系数文本的位置,避免遮挡箱线图。

测试验证

将你提供的数据集复制到R中运行上述代码,即可得到符合需求的箱线图,同时会在图表上方显示Spearman相关系数、p值及置信区间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:40:31