在R中计算航班数≥2的航空公司平均起飞延误
计算符合条件航空公司的平均起飞延误
完整解决方案代码
avg_delay_2flights <- df %>% filter(is_delayed == 'yes') %>% group_by(carrier) %>% summarise( num_of_flights = n(), avg_dep_delay = mean(dep_delay) ) %>% filter(num_of_flights >= 2) print(avg_delay_2flights)
代码说明
filter(is_delayed == 'yes'):仅筛选出标记为延误的航班数据group_by(carrier):按照航空公司对数据分组summarise():同时完成两个统计任务num_of_flights = n():统计每组(航空公司)的延误航班数量avg_dep_delay = mean(dep_delay):计算每组的平均起飞延误时长
filter(num_of_flights >= 2):只保留延误航班数≥2的航空公司数据
运行后会得到预期结果:
# A tibble: 2 × 3 carrier num_of_flights avg_dep_delay <chr> <int> <dbl> 1 B6 2 8 2 EV 3 44
可选:简化输出结果
如果不需要保留航班数字段,可以在最后加上select()去掉多余列:
avg_delay_2flights <- df %>% filter(is_delayed == 'yes') %>% group_by(carrier) %>% summarise( num_of_flights = n(), avg_dep_delay = mean(dep_delay) ) %>% filter(num_of_flights >= 2) %>% select(carrier, avg_dep_delay)
输出结果会简化为:
# A tibble: 2 × 2 carrier avg_dep_delay <chr> <dbl> 1 B6 8 2 EV 44
内容的提问来源于stack exchange,提问作者Bluetail
相关产品推荐
相关产品推荐

