Полагаю, у вас много 0
с var_est_to_actual
за service_mnth
.
Давайте воспроизведем «проблему».
Прежде всего, мы генерируем данные из широкой нормали и показываем графики.
set.seed(2018)
df <- setNames(data.frame(
rnorm(100, sd = 100),
rnorm(100, sd = 100)), c("2018-01", "2018-02"))
library(tidyverse)
df %>%
gather(service_mnth, var_est_to_actual) %>%
ggplot(aes(service_mnth, var_est_to_actual)) +
geom_boxplot()
Теперь мы заменим 70% наблюдений за service_mnth
на 0
с и покажем блок-график снова для пересмотренных данных.
df %>%
gather(service_mnth, var_est_to_actual) %>%
group_by(service_mnth) %>%
mutate(frac = (1:n()) / n()) %>%
mutate(var_est_to_actual = if_else(frac < 0.7, 0, var_est_to_actual)) %>%
ggplot(aes(service_mnth, var_est_to_actual)) +
geom_boxplot()
Обратите внимание на сходство с отображаемым боксом.