PDF 99 / 520 Grouped Mutates (and Filters)
English · PDF 99
Original PDF page 99
中文 · PDF 99
  • 航班有 50% 的时间提前 15 分钟到达,有 50% 的时间晚点 15 分钟。
  • 航班总是晚点 10 分钟。
  • 航班有 50% 的时间提前 30 分钟到达,有 50% 的时间晚点 30 分钟。
  • 99% 的时间航班准点。1% 的时间晚点 2 小时。

哪个更重要:到达延误还是出发延误?

    1. 想出另一种方法,使其输出与 not_cancelled %>% count(dest) 和 not_cancel led %>% count(tailnum, wt = distance) 相同(不使用 count())。
    1. 我们对取消航班的定义(is.na(dep_delay) | is.na(arr_delay) )稍微不太理想。为什么?哪一列最重要?
    1. 查看每天取消航班的数量。是否存在某种模式?取消航班的比例是否与平均延误相关?
    1. 哪家航空公司的延误最严重?挑战:你能区分出糟糕机场与糟糕航空公司的影响吗?为什么能/不能?(提示:考虑 flights %>% group_by(carrier, dest) %>% summarize(n())。)
    1. 对于每架飞机,统计首次延误超过 1 小时之前的航班数量。
    1. count() 函数的 sort 参数有什么作用?什么时候可能会用到它?

分组变异(和筛选)

分组最常见的用途是与 summarize() 结合使用,但你也可以用 mutate() 和 filter() 进行一些方便的操作:

  • 找出每组中最差的成员:

flights_sml %>% group_by(year, month, day) %>% filter(rank(desc(arr_delay)) < 10)