在ggplot2逻辑回归可视化中添加反向密度图
解决方案
要给y=1组添加反向密度图,只需在原有代码基础上新增针对y=1子集的geom_density图层,并调整其y轴映射,让密度图从y=1的位置向上延伸。
修改后的完整代码:
library(ggplot2) ggplot(ex, aes(x=x1, y=y1)) + geom_point(alpha = 0.2, cex = 3) + stat_smooth(method="glm", se=T, method.args = list(family=binomial)) + # y=0组的下方密度图 geom_density(data = ex[!ex$y, ], aes(x = x1, y = ..density..), alpha = 0.2, fill = "tomato") + # y=1组的上方反向密度图 geom_density(data = ex[ex$y, ], aes(x = x1, y = 1 + ..density..), alpha = 0.2, fill = "steelblue") + theme_bw()
关键改动说明
- 筛选y=1的子集:通过
data = ex[ex$y, ]获取所有y为TRUE(即y1=1)的数据 - 调整y轴映射:将y值设为
1 + ..density..,让密度图以y=1为基线向上绘制,和y=0组向下的密度图形成对称的反向效果 - 区分颜色:使用不同填充色(如
steelblue)区分两组密度图,提升可读性
内容的提问来源于stack exchange,提问作者tales_alencar
相关产品推荐
相关产品推荐

