У меня есть набор наблюдений, которые измеряют временную задержку от начального события, например, прошедшее время с момента отправки электронного письма до его открытия.
Учитывая набор из 100 наблюдений, как я могу сказать, в какой момент времени произошло 90 процентов открытий? Я хочу сказать, что «90% открытий произошло в течение 4 часов после отправки».
Я могу сгенерировать гистограмму задержек, которая показывает, что большинство открытий происходит рано, но я не знаю, как получить кумулятивную меру для всех подсчетов в корзинах. (Я не очень хорошо объясняю себя, не победил статистика)
Таким образом, с этими образцами данных у меня есть 10 наблюдений с задержкой в 1 час, 5 с задержкой в 2 часа, 3 с задержкой в 3 часа и 2 с задержкой в 4 часа. Это означает, что 90% открытий произошло менее чем за 4 часа. Как определить 90% -ный предел для реального набора наблюдений?
Отредактировано с созданием более компактных выборочных данных и добавлено первое сокращение на графике кумулятивного процента. Хотелось бы получить лучшие решения.
library(tidyverse)
library(ggplot2)
all_delays <- tibble(delay = rep(1:4, c(10, 5, 3, 2)))
all_delays
#> # A tibble: 20 x 1
#> delay
#> <int>
#> 1 1
#> 2 1
#> 3 1
#> 4 1
#> 5 1
#> 6 1
#> 7 1
#> 8 1
#> 9 1
#> 10 1
#> 11 2
#> 12 2
#> 13 2
#> 14 2
#> 15 2
#> 16 3
#> 17 3
#> 18 3
#> 19 4
#> 20 4
# histogram of data
ggplot(all_delays) + aes(delay) +
geom_histogram() +
scale_y_continuous(breaks = seq(0,10,1))
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
![](https://i.imgur.com/ITJHIt3.png)
# newbie incorrect way to get plot of cumulative percentage.
# would welcome better way to do this.
all_delays <- all_delays %>% mutate(cnt = 1) %>%
arrange(delay) %>%
mutate(cs = cumsum(cnt))
ggplot(all_delays) + aes(cs/nrow(all_delays),delay) +
geom_line() +
scale_x_continuous(breaks = c(0,.25,.50,.75,.90,1),
labels=c("0","25%","50%","75%","90%","100%")) +
geom_vline(xintercept =.9) +
xlab("Cumulative Percentage of opens") +
ylab("hours since open")
![](https://i.imgur.com/5nuqDQl.png)
Создано в 2019-04-27 пакетом Представить (v0.2.1)
Я предполагаю, что мои ожидаемые результаты - это что-то, что скажет "90% limit = 3", или что-то вроде кумулятивной кривой, которая будет начинаться с кратчайшей задержки открытия, а затем увеличиваться в значении, пока не будет достигнуто 100% с отметкой 90 %.
Спасибо за quantile()
ответ!
Скорость открытия электронной почты, как правило, имеет длинный хвост, в течение которого не происходит никаких действий в течение дня или двух после отправки электронного письма, и очень длинный хвост, когда люди просматривают свои почтовые ящики через несколько недель или даже месяцев после отправки электронного письма.