#Исходная таблица
head(flights)
## # A tibble: 6 x 19
## year month day dep_time sched_dep_time dep_delay arr_time
## <int> <int> <int> <int> <int> <dbl> <int>
## 1 2013 1 1 517 515 2 830
## 2 2013 1 1 533 529 4 850
## 3 2013 1 1 542 540 2 923
## 4 2013 1 1 544 545 -1 1004
## 5 2013 1 1 554 600 -6 812
## 6 2013 1 1 554 558 -4 740
## # ... with 12 more variables: sched_arr_time <int>, arr_delay <dbl>,
## # carrier <chr>, flight <int>, tailnum <chr>, origin <chr>, dest <chr>,
## # air_time <dbl>, distance <dbl>, hour <dbl>, minute <dbl>,
## # time_hour <dttm>
На основе набора данных flights рассчитайте долю задержанных рейсов по всей таблице.
Подсказка: R рассматривает логические значения TRUE и FALSE как 1 и 0. Поэтому выполнив команду: mean(x > 0) мы можем найти долю положительных значений в векторе x.
flights <- mutate(flights, delay = ifelse(dep_delay > 0, TRUE, FALSE))
#mean(flights$delay > 0)
a <- nrow(filter(flights, delay == TRUE))/nrow(flights)
a
## [1] 0.3813573
Примерно 38% рейсов было задержано.
Составьте рейтинг авиакомпаний по вероятности отмены рейса. Самые надежные авиакомпании должны быть первыми в списке.
flights %>%
group_by(carrier) %>%
summarise(cancellation = mean(is.na(dep_time))) %>%
arrange(cancellation)
## # A tibble: 16 x 2
## carrier cancellation
## <chr> <dbl>
## 1 HA 0
## 2 AS 0.00280
## 3 F9 0.00438
## 4 VX 0.00601
## 5 DL 0.00725
## 6 B6 0.00853
## 7 UA 0.0117
## 8 WN 0.0156
## 9 AA 0.0194
## 10 FL 0.0224
## 11 US 0.0323
## 12 MQ 0.0467
## 13 EV 0.0520
## 14 9E 0.0566
## 15 YV 0.0932
## 16 OO 0.0938
Самый надежный перевозчик - HA. Компанией были совершены все запланированные полеты.
Определите, какой месяц оказался самым тяжелым для каждой авиакомпании (по доле рейсов, задержанных более чем на 15 минут).
flights %>%
mutate(delay_15 = ifelse(dep_delay > 15, TRUE, FALSE)) %>%
filter(!is.na(delay_15)) %>%
group_by(carrier, month) %>%
summarise(b = mean(delay_15>0)) %>%
arrange(desc(b)) %>%
top_n(1, wt = b)
## # A tibble: 16 x 3
## # Groups: carrier [16]
## carrier month b
## <chr> <int> <dbl>
## 1 OO 1 1
## 2 F9 7 0.552
## 3 YV 3 0.5
## 4 FL 6 0.428
## 5 WN 12 0.414
## 6 9E 7 0.378
## 7 EV 12 0.368
## 8 B6 7 0.344
## 9 UA 12 0.328
## 10 AS 12 0.315
## 11 MQ 7 0.312
## 12 VX 7 0.305
## 13 DL 7 0.279
## 14 HA 2 0.214
## 15 AA 6 0.210
## 16 US 6 0.179
В представленной таблице можно наблюдать самые тяжелые месяцы для авиакомпаний (по доле рейсов, задержанных более чем на 15 минут).
Полезные ссылки: