gpt4 book ai didi

r - 如何使用 stat_smooth 在一个双因素图上显示一行?

转载 作者:行者123 更新时间:2023-12-04 12:19:05 27 4
gpt4 key购买 nike

我有一个 data.frame 这样的:

df <- data.frame(a = runif(1000), b = runif(1000), c = runif(1000),  d = sample(c("yes", "no"), 1000, replace=TRUE))

我进行了逻辑回归:
lm <- glm(data = df, factor(d) ~ a + b + c, family = binomial)

产生预测概率:
df$pred <- predict(lm, type = "response")

并想用 a 的抖动图绘制结果图和 b , d 的颜色填充和一条平滑的线(使用 geom_smooth)只是为了 a 的效果在 d
我试过这个:
ggplot(data = df , aes(x=a, y = b, color = factor(d))) + geom_jitter() +
geom_smooth(data = df, aes(x=a, y = pred))

但它并没有产生我想要的。我想要的是这一行:
ggplot(data = df , aes(x=a, y = pred)) + geom_smooth()

覆盖在此:
ggplot(data = df , aes(x=a, y = b, color = factor(d))) + geom_jitter()

任何和所有帮助将不胜感激。

最佳答案

这可以解决问题,现在它不再按因素对它进行分组:

  ggplot(data = df ) +  
geom_point(aes(x=a, y = b, color = factor(d))) +
geom_smooth(aes(x=a, y = pred))

现在,您可以在指定数据的位置创建 ggplot。最重要的是,您添加一个带有点(a 和 b)的图层,并在其上添加几何平滑线。

但请确保您还查看了两个图的 y 轴。在您的 geom_smooth() 图中,您会看到漂亮的 s 形曲线。但是,Y 轴的范围是从 0.51 到 0.47。

enter image description here

如果我们然后查看限制为 0 和 1 的总图。您的线看起来几乎是直的,这仅仅是因为限制。 enter image description here

关于r - 如何使用 stat_smooth 在一个双因素图上显示一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30563896/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com