Для создания бункеров используйте функцию cut
:
dat <- data.frame(X, Y)
dat$bin <- cut(X, breaks=seq(-1, 1, 0.2))
Тогда используйте ваш любимый метод для подведения итогов. Я иллюстрирую ddply
в упаковке plyr
library(plyr)
Z <- ddply(dat, .(bin), summarize, yy = sum(Y)/length(Y))
Рассчитать коэффициент:
Z$odds <- Z$yy/(1-Z$yy)
График результатов с базовой графикой ...
plot(Z$bin, Z$odds)
![enter image description here](https://i.stack.imgur.com/KbkpV.png)
... или ggplot
library(ggplot2)
ggplot(Z, aes(x=bin, y=odds)) + geom_point()
![enter image description here](https://i.stack.imgur.com/Rxfx1.png)