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

ggdotplot中add参数的mean_sd报错求助(原功能曾正常运行)

问题解决:ggdotplot中add=c("violin", "mean_sd")报错的处理

问题重现

使用ggpubr包的ggdotplot函数时,设置add = c("violin", "mean_sd")会触发报错,提示geom_pointrange()缺少y、ymin和ymax美学映射,但替换为mean_se等其他选项可正常运行,此问题大概率是包更新后函数参数逻辑变更导致。

报错代码:

library(ggpubr)
data("ToothGrowth")
df <- ToothGrowth

ggdotplot(df, x = "dose", y = "len",
 add = c("violin", "mean_sd"))

报错信息:

Error in `stat_summary()`:
! Problem while setting up geom.
ℹ Error occurred in the 3rd layer.
Caused by error in `compute_geom_1()`:
! `geom_pointrange()` requires the following missing aesthetics: y, ymin, and ymax or y, xmin, and xmax
Backtrace:
  1. base (local) `<fn>`(x)
  2. ggplot2:::print.ggplot(x)
  4. ggplot2:::ggplot_build.ggplot(x)
  5. ggplot2:::by_layer(...)
 12. ggplot2 (local) f(l = layers[[i]], d = data[[i]])
 13. l$compute_geom_1(d)
 14. ggplot2 (local) compute_geom_1(..., self = self)
Error in stat_summary(fun.data = "mean_sd", color = "black", geom = "pointrange",:

ℹ Error occurred in the 3rd layer.
Caused by error in `compute_geom_1()`:
! `geom_pointrange()` requires the following missing aesthetics: y, ymin, and ymax or y, xmin, and xmax

正常运行的对比代码:

library(ggpubr)
data("ToothGrowth")
df <- ToothGrowth

ggdotplot(df, x = "dose", y = "len",
 add = c("violin", "mean_se"))

解决方法

方法1:手动添加stat_summary层替代内置参数

放弃直接在add参数中指定mean_sd,改用手动叠加stat_summary层,明确传递美学映射和统计函数:

library(ggpubr)
data("ToothGrowth")
df <- ToothGrowth

ggdotplot(df, x = "dose", y = "len", add = "violin") +
  stat_summary(fun.data = mean_sd, geom = "pointrange", color = "black")

方法2:回退到稳定旧版本

若确认是新版本bug,可通过devtools回退到之前能正常运行的版本(例如2.0.0版本):

# 卸载当前版本
remove.packages("ggpubr")
# 安装指定旧版本
devtools::install_version("ggpubr", version = "2.0.0")

方法3:尝试安装最新开发版

部分bug可能已在GitHub开发版中修复,可尝试安装:

devtools::install_github("kassambara/ggpubr")

原因分析

该问题源于ggpubr更新后,ggdotplot在处理多add选项组合时,针对mean_sd的美学映射传递逻辑出现异常,而mean_se的参数传递逻辑未受影响。手动添加stat_summary可绕过函数内部的参数处理问题,确保美学映射正确传递给geom_pointrange。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 20:41:06