如何在ggplot2中进行多个逻辑回归?

问题描述 投票:0回答:2

我创建了一个包含以下代码和数据的图表:

ggplot(data.frame, aes(x=Score, y=Year, col=Position)) +
  geom_smooth(method="lm", se=FALSE).

Year   Position   Score
2010   QB         16.5
2011   QB         15.4
2012   QB         16.1
2013   QB         14.3
2014   QB         13.8
2010   RB         14.2
2011   RB         13.9
2012   RB         13.9
2013   RB         11.8
2014   RB         11.6
2010   WR         11.4
2011   WR         12.4
2012   WR         10.4
2013   WR         8.8
2014   WR         9.7

enter image description here

我的目标是使用下面的数据做一个类似的图表,除了逻辑回归,因为Y值(Score1)是二进制的。我尝试将method="lm"更改为method="Binominal",但这没有奏效。有人可以帮忙吗?我更喜欢它在ggplot中完成,因此图形看起来尽可能相似。

Score1 Position Score2
0   QB         16.5
0   QB         15.4
1   QB         16.1
0   QB         14.3
1   QB         13.8
1   RB         14.2
1   RB         13.9
1   RB         13.9
0   RB         11.8
0   RB         11.6
1   WR         11.4
1   WR         12.4
0   WR         10.4
1   WR         8.8
1   WR         9.7
r ggplot2 logistic-regression
2个回答
4
投票

这样做的正确方法是

ggplot(data.frame, aes(x=Score2, y=Score1, col=Position)) +
+     geom_smooth(method="glm",method.args = list(family = "binomial"), se=FALSE)

但是,Score1应为0或1,因此您必须转换类并可能创建多个图。


2
投票

使用stat_smoothinstead的geom_smooth,像这样:

ggplot(data.frame, aes(x=Score, y=Year, col=Position)) + stat_smooth(method="glm", family="binomial",se=fALSE)

编辑:你可能需要qplot,在以下链接https://www.rdocumentation.org/packages/ggplot2/versions/0.9.0/topics/stat_smooth结尾处有一个逻辑回归的例子

© www.soinside.com 2019 - 2024. All rights reserved.