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

ggplot2中geom_smooth()置信区间负值的原因与解决方法

实验绘图问题:线性回归置信区间出现负值的原因

我开展了一项实验,受试者需完成问卷(每人对应一个sumpdi得分)和包含两种组内条件(0和25)的实验任务。目标是绘制不同sumpdi得分与条件下的任务响应均值,但在呈现置信区间时遇到问题。

1. 初始数据聚合与绘图的问题

首先执行数据聚合代码:

agg_forplot<- aggregate(Response ~ sumpdi+ Condition, df_forplot, FUN=mean)

随后使用ggplot2绘图:

Plot_C<-ggplot(agg_forplot, aes(x=sumpdi, y=Response, colour=Condition))+ 
  geom_smooth(method='lm', se=T, fill='light blue')+
  geom_point()+ 
  ylab("Mean % 'Tone Present' Responses")+ 
  xlab('Summary PDI Score') + 
  labs(color= 'Condition') + 
  scale_color_manual(labels = c("No tone", "25%"), values= c("#5CC0C0","#FF88FF"))+  
  mytheme

绘图后发现,geom_smooth()的se=T参数在sumpdi=0附近生成了负的置信区间值,但响应百分比不可能为负。尝试添加+ylim(0,1)限制纵轴范围,却会直接移除该区域的置信区间。

2. 不同聚合方式的差异

若按以下代码聚合数据(纳入受试者ID Pt_ID):

agg_forplot<- aggregate(Response ~ sumpdi+ Condition+ Pt_ID, df_forplot, FUN=mean)

则不会出现负置信区间,但不清楚其中原因。附上两次聚合后的dput数据及对应绘图。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:12:06