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

修改统计表格后在ggplot箱线图添加显著性水平报错

问题原因

报错的核心原因是stat_value2在执行group_by(group1) %>% slice_head(n=1)后仍保持分组状态,而ggpubr::stat_pvalue_manual无法正确处理分组格式的数据,导致内部mutate操作时出现维度不匹配问题。

解决方案

在生成stat_value2后添加ungroup(),将分组数据转换为普通数据框:

stat_value2 <- stat_pvalue %>% 
  group_by(group1) %>% 
  slice_head(n=1) %>% 
  ungroup()  # 关键步骤:取消分组

之后再运行绘图代码即可正常生成带显著性标记的箱线图。

额外优化建议(贴合你的需求)

你提到要保留彼此最接近的显著对比组,建议先按rating均值重新排序lang2的因子水平,确保后续筛选的是相邻组间的显著差异:

  1. 先重新排序因子:
library(forcats)
pl <- pl %>%
  mutate(lang2 = fct_reorder(lang2, rating, .fun = mean))  # 按rating均值排序lang2
  1. 重新计算统计量并筛选:
stat_pvalue <- pl %>% 
  rstatix::wilcox_test(rating ~ lang2) %>%
  filter(p < 0.001) %>% 
  rstatix::add_significance("p") %>% 
  rstatix::add_y_position(fun="mean") %>% 
  mutate(y.position = seq(min(y.position), max(y.position), length.out = n()))

stat_value2 <- stat_pvalue %>% 
  group_by(group1) %>% 
  slice_head(n=1) %>% 
  ungroup()

这样筛选出的对比组会是每个水平与均值最接近的显著相邻组,可视化效果更合理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 18:33:07