R 如何使用stat_smooth在双因素图形上显示一条直线?
我有这样一个data.frame:R 如何使用stat_smooth在双因素图形上显示一条直线?,r,ggplot2,R,Ggplot2,我有这样一个data.frame: df <- data.frame(a = runif(1000), b = runif(1000), c = runif(1000), d = sample(c("yes", "no"), 1000, replace=TRUE)) 但这并不是我想要的。我想要的是这一行: ggplot(data = df , aes(x=a, y = pred)) + geom_smooth() 覆盖于此: ggplot(data = df , aes(x=a, y
df <- data.frame(a = runif(1000), b = runif(1000), c = runif(1000), d = sample(c("yes", "no"), 1000, replace=TRUE))
但这并不是我想要的。我想要的是这一行:
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
如果我们再看看你的总图,极限为0和1。你的线看起来几乎是直的,这是因为限制 这个方法对我不起作用。但是,我在这里找到了解决方法:
简言之:
设置aes(组=1)
中的stat\u smooth
(但图例有附加行)
或者更好-仅在geom_point
中使用因子字段,而不是ggplot
(这东西有干净的图例):
将
pred
vs.a
的行添加到b
vs.a
的绘图中是没有意义的。它恰好“看起来”在这种情况下起作用,因为所有预测变量的范围都在0到1之间,与pred
的范围相同,这是一种概率,因此也在0到1之间。但是你把苹果放在桔子上了。看起来很棒——谢谢。。。今天学到了一些关于ggplot的新知识:)
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(mtcars, aes(x = hp, y = mpg, colour = factor(vs))) + geom_point() +
stat_smooth(aes(group = 1), method = "lm", formula = y ~ x, se = FALSE)
ggplot(mtcars, aes(x = hp, y = mpg)) + geom_point(aes(colour = factor(vs))) +
stat_smooth(method = "lm", formula = y ~ x, se = FALSE)