我创建了一个包含以下代码和数据的图表:
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
我的目标是使用下面的数据执行类似的图表,除了逻辑回归,因为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
答案 0 :(得分: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,因此您必须转换类并可能创建多个图。
答案 1 :(得分:2)
使用stat_smooth
代替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