Сгенерируйте некоторые данные и найдите функцию ecdf.
x <- rlnorm(1e5, 5)
ecdf_x <- ecdf(x)
Сгенерируйте вектор через равные интервалы в диапазоне x.(ПРАВКА: в этом случае вы хотите, чтобы они были равномерно распределены по логарифмической шкале; если у вас есть отрицательные значения, используйте выборку по линейной шкале.)
xx <- seq(min(x), max(x), length.out = 1e4)
#or
log_x <- log(x)
xx <- exp(seq(min(log_x), max(log_x), length.out = 1e3))
Создание данных с координатами x и y для графика.
dfr <- data.frame(
x = xx,
ecdf = ecdf_x(xx),
ccdf = 1 - ecdf_x(xx)
)
Нарисовать сюжет.
p_ccdf <- ggplot(dfr, aes(x, ccdf)) +
geom_line() +
scale_x_log10()
p_ccdf
(Также взгляните на aes(x, ecdf)
.)