В R ggplot2 включите конечные точки stat_ecdf () (0,0) и (1,1)

Я пытаюсь использоватьstat_ecdf() построить кумулятивные успехи как функцию оценки ранга, созданной прогнозной моделью.

#libraries
require(ggplot2)
require(scales)

# fake data for reproducibility
set.seed(123)
n <- 200
df <- data.frame(model_score= rexp(n=n,rate=1:n),
                 obs_set= sample(c("training","validation"),n,replace=TRUE))
df$model_rank <- rank(df$model_score)/n
df$target_outcome <- rbinom(n,1,1-df$model_rank)

# Plot Gain Chart using stat_ecdf()
ggplot(subset(df,target_outcome==1),aes(x = model_rank)) + 
  stat_ecdf(aes(colour = obs_set), size=1) + 
  scale_x_continuous(limits=c(0,1), labels=percent,breaks=seq(0,1,.1)) +
  xlab("Model Percentile") + ylab("Percent of Target Outcome") +
  scale_y_continuous(limits=c(0,1), labels=percent) +
  geom_segment(aes(x=0,y=0,xend=1,yend=1), 
               colour = "gray", linetype="longdash", size=1) +
  ggtitle("Gain Chart")

Все, что я хочу сделать, это заставить ECDF начинаться с (0,0) и заканчиваться с (1,1), чтобы не было пропусков в начале или конце кривой. Если возможно, я хотел бы сделать это в синтаксисеggplot2, но я бы согласился на умный обходной путь.

@ Хенрик, это НЕ дубликатэтот вопроспотому что я уже определил свои пределы сscale_x_ а также_y_continuous()и добавлениеexpand_limits() ничего не делает Это не источник PLOT, а конечные точки stat_ecdf (), которые необходимо исправить.

Ответы на вопрос(1)

Ваш ответ на вопрос