Я пытаюсь ответить на вопрос 5.7.1.8 из R Хэдли Уикхема для Data Science:
Для каждого самолета подсчитайте количество рейсов до первой задержки, превышающей 1 час.
Есть 4 044 уникальных хвостовых, как показано ниже:
flights %>%
group_by(tailnum) %>%
summarise(flights = n())
# A tibble: 4,044 x 2
tailnum flights
<chr> <int>
1 D942DN 4
2 N0EGMQ 371
3 N10156 153
4 N102UW 48
5 N103US 46
6 N104UW 47
7 N10575 289
8 N105UW 45
9 N107US 41
10 N108UW 60
# ... with 4,034 more rows
Ниже я могу видеть, когда критерии условий были выполнены:
flights %>%
group_by(year, month, day, tailnum, arr_delay) %>%
summarise(first_60_plus_delay = first(arr_delay > 60)) %>%
arrange(tailnum)
# A tibble: 332,316 x 6
# Groups: year, month, day, tailnum [251,727]
year month day tailnum arr_delay first_60_plus_delay
<int> <int> <int> <chr> <dbl> <lgl>
1 2013 2 11 D942DN 91 TRUE
2 2013 3 23 D942DN 44 FALSE
3 2013 3 24 D942DN 2 FALSE
4 2013 7 5 D942DN -11 FALSE
5 2013 1 1 N0EGMQ 17 FALSE
6 2013 1 1 N0EGMQ 67 TRUE
7 2013 1 2 N0EGMQ -6 FALSE
8 2013 1 2 N0EGMQ 11 FALSE
9 2013 1 4 N0EGMQ -2 FALSE
10 2013 1 5 N0EGMQ -15 FALSE
# ... with 332,306 more rows
Как мы теперь отфильтровываем происходящие ЛОЖНЫЕ случаипосле TRUE для каждого Tailnum?Помощь будет оценена.
Приветствия,
Роб