复杂数据处理(上):航班航行距离与延误时间的关系
作者:郭小龙,R语言中文社区专栏作者。知乎专栏:https://www.zhihu.com/people/guo-xiao-long-3-18/posts 航班延误和晚点是每个坐飞机的人都会遇到的情况,但飞行距离和航班延误时间到底有没有关系呢?本文以nycflights13包中flights数据进行统计分析,简单研究航班飞行距离和延误时间之间的相关性。 1、安装dplyr包并下载导入航班数据 #安装dplyr包并下载飞行数据 install.packages("dplyr") install.packages("nycflights13") library(dplyr) library(nycflights13) search() ? #查看已经安装的包 flights 这块内容主要包括航班数据列字段的选择、列名重命名、缺失数据删除、数据排序、数据的分组和统计计算。按照自定义函数的创建方法,创建了disDelay函数。 disDelay <- function(){ ?myFlights <- select(flights,? ? ? ? ? ? ? ? ? ? ?year,month,day,? ? ? ? ? ? ? ? ? ? ?dep_delay,arr_delay,? ? ? ? ? ? ? ? ? ? ?distance,dest) ? ?#列名重命名 ?myFlights <- rename(myFlights,destination = dest) ?#删除缺失数据 ?myFlights <- filter(myFlights,? ? ? ? ? ? ? ? ? ? ?!is.na(dep_delay),? ? ? ? ? ? ? ? ? ? ?!is.na(arr_delay)) ?#数据排序 ?arrange(myFlights,dep_delay) ?arrange(myFlights,desc(dep_delay)) ? ?#数据计算:航班航行距离与延误时间的关系 ?by_dest <- group_by(myFlights,destination) ? ?#数据分组 ?delay <- summarise(by_dest,? ? ? ? ? ? ? ? ? #数据分组后的统计计算 ? ? ? ? ? ? ? ? ? ? count = n(),? ? ? ? ? ? ? ? #航班数 ? ? ? ? ? ? ? ? ? ? dist = mean(distance,na.rm = TRUE),? ? ? ? ? ? ? ? ? ? delay = mean(arr_delay,na.rm = TRUE) ?) ?#移除噪音数据 ?delay <- filter(delay,count > 20) ?return(delay) } #视图模块 install.packages("ggplot2") library(ggplot2) delay ggplot(data = delay) + ?geom_point(mapping = aes(x = dist,y = delay)) + ?geom_smooth(mapping = aes(x = dist,y = delay)) 4、结论 从上图可以得出如下结论: (1)在2500英里范围内,飞机距离和航班延误时间存在一定的关系;2500英里以上距离基本不存在相关性。 (2)航班延误时间基本在20分钟之内。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |