[英]How to plot regression line with ggplot?
我试图将两条回归线放入同一个图中。 我可以使用下面的代码,但使用相同颜色的行:
model1 <- glm(species~logarea, family=poisson, data=fish)
model2 <- glm.nb(species~logarea, data=fish)
plot(species~logarea,data=fish)
lines(fitted(model1)[order(logarea)]~sort(logarea),data=fish)
lines(fitted(model2)[order(logarea)]~sort(logarea),data=fish)
我想用ggplot复制上面的图,这样我就可以用不同的颜色显示不同的线。 但我无法弄清楚如何做到这一点。
我只完成了绘制散点图的第一步,但不知道如何在其上添加线条。
ggplot(fish,aes(fish$logarea,fish$SPECIES))+geom_point()
我做了一些搜索,我明白我可以使用geom_smooth(method =“glm”)来生成回归线。 但它似乎不是基于我建立的模型。
谁能对此有所了解?
非常感谢。
您可以直接在geom_smooth
拟合模型。 在这种情况下,您需要使用method.args
参数为拟合方法提供额外的参数,以定义glm
的族。
这是一个示例,为每个模型类型添加不同的颜色。 我使用se = FALSE
去除置信区间。
ggplot(fish,aes(logarea, SPECIES)) +
geom_point() +
geom_smooth(method = "glm", method.args = list(family = poisson), aes(color = "poisson"), se = FALSE) +
geom_smooth(method = MASS::glm.nb, aes(color = "NB"), se = FALSE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.