Неожиданное поведение конечной точки в ggplot2::stat_ecdf()
У меня есть некоторые данные для диаграммы усиления. (У меня есть процентили смоделированных баллов для всех целевых результатов.)
> dput(data)
structure(list(obs_set = structure(c(1L, 1L, 2L, 2L, 2L, 2L,
1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L,
1L, 2L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L, 2L), .Label = c("Training/Validation",
"Test"), class = "factor"), pctl = c(0.999903481425, 0.99980696285,
0.999584970127501, 0.999498103410001, 0.999488451552501, 0.999353325547502,
0.998706651095003, 0.998610132520004, 0.998291621222504, 0.998204754505004,
0.997615991197506, 0.997577383767506, 0.996284034862509, 0.99615856071501,
0.99603308656751, 0.995724227127511, 0.995376760257512, 0.995328500970012,
0.995038945245012, 0.994894167382513, 0.994855559952513, 0.994787996950013,
0.993957937205015, 0.993948285347515, 0.993600818477516, 0.99185383227002,
0.991670446977521, 0.990087542347525, 0.989672512475026, 0.98802204484253,
0.987607014970031, 0.985531865607536, 0.982472226780044, 0.979624928817551,
0.979219550802552, 0.977183008870057, 0.97584140067756, 0.975407067090062,
0.975020992790062, 0.974654222205063, 0.965166446282587, 0.965040972135087,
0.96396961595259, 0.962850000482593, 0.961662822010096, 0.9598579246576,
0.95200131265262, 0.933730346405166, 0.836372059802909, 0.725665254278186
)), .Names = c("obs_set", "pctl"), row.names = c(NA, -50L), class = "data.frame")
В предыдущих версиях ggplot2
Я смог построить график усиления, который выглядел примерно так:
но не было странного поведения в конечных точках, обведенных красным (с желаемым поведением в синем)
со следующим утверждением:
library("ggplot2")
library("scales")
ggplot(data,aes(x = 1-pctl)) +
stat_ecdf(aes(x = 1-pctl, col = obs_set), size=1,
geom="smooth", fill=NA, pad=FALSE) +
scale_x_continuous(limits=c(0,1), labels=percent,breaks=seq(0,1,.1)) +
xlab("Percent of file") +
scale_y_continuous(limits=c(0,1), labels=percent) +
ylab("Percent of target captured") +
geom_segment(aes(x=0,y=0,xend=1,yend=1),
colour = "gray", linetype="longdash", size=1) +
ggtitle("Gain from predictive model")+
theme_bw() + theme(legend.position=c(.75,.25)) +
scale_colour_manual(name='Model Performance',
limits=c("Training/Validation","Test","No model"),
breaks=c("Training/Validation","Test","No model"),
values=c("#6BC04B","tan","grey50"))
Что-то изменилось? Я на ggplot2 версии 2.1.0, R версии 3.2.4. Клянусь пару месяцев назад, это работало нормально, но я недавно обновился.