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

ggplot分组数据中stat_poly_eq函数报错问题求助

解决分组数据下stat_poly_eq()运行错误的问题

问题分析

报错out[1] <= out[2] is not TRUE源于分组后某一组(本案例中为gene2)的线性拟合模型在计算F统计量置信区间时,出现了上下限顺序颠倒的异常。这是因为该组部分剂量的样本量过少,导致模型统计量计算出现问题,触发了ggpmisc包内部的校验错误。

解决方案

方案1:移除p值置信区间相关输出

暂时去掉p.value.label的展示,避免触发错误的置信区间计算:

my_plot +
  stat_poly_eq(formula = y ~ x,
               aes(label = paste(after_stat(eq.label),
                                 after_stat(rr.label),
                                 sep = "~~~")),
               parse = TRUE, coef.digits = 3, f.digits = 3, 
               rr.digits = 3, size = 4)

方案2:显式禁用置信区间计算

通过interval = FALSE参数关闭置信区间的计算,彻底避免该错误:

my_plot +
  stat_poly_eq(formula = y ~ x,
               aes(label = paste(after_stat(eq.label),
                                 after_stat(rr.label),
                                 after_stat(p.value.label),
                                 sep = "~~~")),
               parse = TRUE, coef.digits = 3, f.digits = 3, p.digits = 3,
               rr.digits = 3, size = 4,
               interval = FALSE)

方案3:处理异常分组数据

如果需要保留p值置信区间,可先检查gene2组的数据拟合情况,补充样本量或调整拟合模型:

# 提取gene2数据单独拟合检查
gene2_data <- demo_data[demo_data$gene == "gene2", ]
lm_fit <- lm(level ~ dose, data = gene2_data)
summary(lm_fit)

从输出可见该组模型拟合效果极差(R²接近0),可考虑增加样本量,或更换非线性拟合模型(比如geom_smooth(method = "loess"))。

方案4:更新ggpmisc到最新版本

部分旧版本ggpmisc存在类似统计量计算bug,更新到最新版本可能直接解决问题:

install.packages("ggpmisc")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:12:54