如何用ggplot基于二元变量v2x_regime绘制两条LM回归线?
为分组折线图添加分组LM回归线
你可以直接在现有ggplot代码中添加geom_smooth(method = "lm"),它会自动根据aes中的分组变量(即color = as.factor(v2x_regime))分别拟合回归线,无需拆分数据列。
完整代码示例
ggplot(output1, aes(Year, SuPDem, color = as.factor(v2x_regime))) + geom_line(size = 0.6) + # 添加分组LM回归线,se=FALSE用于移除置信区间阴影(可选) geom_smooth(method = "lm", se = FALSE, size = 0.8, linetype = "dashed") + scale_color_manual(values = c("orange", "blue"), labels = c("autocracies","democracies")) + theme_minimal(base_size = 5)
代码说明
geom_smooth(method = "lm"):指定用线性模型拟合回归线,会自动跟随color的分组逻辑分别计算,保证回归线与对应分组折线颜色一致se = FALSE:可选参数,若需要保留置信区间阴影,可删除该参数- 可通过
linetype、size等参数调整回归线样式,和折线形成视觉区分
你的数据结构参考
| v2x_regime | Year | SuPDem |
|---|---|---|
| 0 | 1990 | -0.581147 |
| 0 | 1991 | -1.581147 |
| 0 | 1992 | 2.371147 |
| 1 | 1990 | -0.581147 |
| 1 | 1991 | -0.471147 |
| 1 | 1992 | -0.601147 |
内容的提问来源于stack exchange,提问作者user19562955
相关产品推荐
相关产品推荐

