【发布时间】:2015-11-04 12:09:50
【问题描述】:
我有一些二进制数据,我想在同一个图中同时绘制逻辑回归线和 0 和 1 的相对频率的直方图。
我在这里使用包 popbio 遇到了一个非常好的实现:shizuka lab's page
这是一个与 library(popbio) 一起运行的 MWE(由 shizuka lab 提供)
bodysize=rnorm(20,30,2) # generates 20 values, with mean of 30 & s.d.=2
bodysize=sort(bodysize) # sorts these values in ascending order.
survive=c(0,0,0,0,0,1,0,1,0,0,1,1,0,1,1,1,0,1,1,1) # assign 'survival' to these 20 individuals non-randomly... most mortality occurs at smaller body size
dat=as.data.frame(cbind(bodysize,survive))
#and now the plot
library(popbio)
logi.hist.plot(bodysize,survive,boxp=FALSE,type="hist",col="gray")
产生
现在,可以用 ggplot2 做到这一点吗?
【问题讨论】:
-
ggplot 和双 y 轴是“哲学上的困难”,但类似的东西可能是可能的。
-
@Heroka 我同意这种理念——我通常尽量不使用它们。不过,我可以看到,在这种情况下,它很有意义——您可以真正了解数据,而使用 geom_smooth()+geom_point() 您只能看到一个点而不是点的质量,所以您对数据没有清晰的概念。我试过 geom_smooth()+geom_point(position='jitter') 但在我的情况下,我有很多数据,而且抖动到处都是。
标签: r ggplot2 histogram logistic-regression