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

如何为ggpairs输出添加t检验显著性水平并移除直方图行?

修改iris数据集的ggpairs可视化输出

针对你的需求,这里提供完整的修改方案,实现给箱图添加t检验显著性标识并移除最后一行直方图:

步骤1:安装并加载依赖包

# 首次运行请安装包
install.packages(c("GGally", "ggpubr", "rstatix"))

# 加载所需库
library(GGally)
library(ggpubr)
library(rstatix)

步骤2:批量生成t检验结果

先预处理所有数值变量与Species的t检验结果,方便后续调用:

# 获取iris的数值变量列
numeric_vars <- names(iris)[1:4]

# 批量计算每个数值变量与Species的t检验,并添加坐标信息
stat_results <- lapply(numeric_vars, function(var) {
  test_formula <- as.formula(paste(var, "~ Species"))
  iris %>% 
    t_test(test_formula) %>% 
    add_xy_position(x = "Species")
})
names(stat_results) <- numeric_vars

步骤3:自定义带显著性标识的箱图函数

编写适配ggpairs的箱图函数,将显著性标识整合进去:

custom_boxplot <- function(data, mapping, var_label, ...) {
  # 绘制基础箱图
  base_plot <- ggboxplot(data, x = mapping$x, y = mapping$y,
                         fill = mapping$color, alpha = 0.5)
  
  # 添加对应的显著性标识
  base_plot + stat_pvalue_manual(stat_results[[var_label]],
                                 label = "p.adj.signif",
                                 tip.length = 0.01)
}

步骤4:生成ggpairs并移除最后一行

创建ggpairs对象,指定使用自定义箱图,最后移除直方图行:

# 构建ggpairs可视化
iris_ggpairs <- ggpairs(iris, aes(color = Species, alpha = 0.5),
                        # 下三角:数值变量间用平滑散点图,物种与数值变量用自定义箱图
                        lower = list(
                          continuous = "smooth",
                          combo = function(data, mapping, ...) {
                            var_name <- as.character(mapping$y)
                            custom_boxplot(data, mapping, var_name)
                          }
                        ),
                        # 上三角保留相关系数标注
                        upper = list(continuous = "cor"))

# 移除最后一行(直方图所在行)
iris_ggpairs <- iris_ggpairs[1:(nrow(iris_ggpairs)-1), ]

# 展示结果
iris_ggpairs

关键说明

  • 批量处理t检验避免了重复编写单个变量的检验代码,提升效率
  • 自定义箱图函数完美适配ggpairs的绘图逻辑,确保物种与数值变量的组合图能显示显著性标识
  • 通过矩阵索引直接截取前n-1行,简洁移除最后一行的直方图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:05:33