我有一个包含连续预测变量和二分响应变量的 data.frame。
> head(df)
position response
1 0 1
2 3 1
3 -4 0
4 -1 0
5 -2 1
6 0 0
我可以通过glm()
-function 轻松计算逻辑回归,到目前为止没有问题。
接下来,我想创建一个ggplot
包含11 个预测变量值中每一个的经验概率和拟合回归线 的图。
我继续计算概率cast()
并将它们保存在另一个 data.frame
> probs
position prob
1 -5 0.0500
2 -4 0.0000
3 -3 0.0000
4 -2 0.2000
5 -1 0.1500
6 0 0.3684
7 1 0.4500
8 2 0.6500
9 3 0.7500
10 4 0.8500
11 5 1.0000
我绘制了概率:
p <- ggplot(probs, aes(x=position, y=prob)) + geom_point()
但是当我尝试添加拟合回归线时
p <- p + stat_smooth(method="glm", family="binomial", se=F)
它返回一个警告:non-integer #successes in a binomial glm!
。我知道为了绘制stat_smooth
“正确”,我必须df
使用二分变量在原始数据上调用它。但是,如果我使用 中的df
数据ggplot()
,我看不到绘制概率的方法。
如何将概率和回归线组合在一个图中,就像它在 ggplot2 中的方式一样,即没有收到任何警告或错误消息?