《数据科学与数据分析》实验课作业
Week 4&6_Exercise 2
请按照RMarkdown_Submission_Template.Rmd进行作答,并将作答结果的pdf文档,上传到“教学立方”当中。
下列问题,均基于nycflights13包中的数据集,请预先下载此包。
Data sets in package ‘nycflights13’:
airlines Airline names.
airports Airport metadata
flights Flights data
planes Plane metadata.
weather Hourly weather data
问题一:flights数据集中有origin和dest这两个变量,分别表示航班的起飞地点和达到地点。
• 统计一下总共有多少个不同的往返地组合,并将这些往返地组合抽取出来,构造成一个名为Ori.Dest的新数据集。
• airports数据集当中包含每个机场的经纬度信息。请将flights数据集进行扩充,增加4列(Ori.Lat, Ori.Lon, Dest.Lat, Dest.Lon),这4列分别表示起飞地的经纬度和到达地的经纬度。使用merge函数,熟悉此函数的不同用途。
(经度:Longitude;纬度:Latitude)
• 构造一个名为Calculate_Distance的函数,该函数可以传递4个参数(上题的4个参数),根据这4个参数,计算出起飞地点和到达地点之间的距离。
• 为flights增加一列,名为Cal.Distance,这一新变量是上题计算出的起飞地和到达地之间的距离。
问题二:planes数据中,有每架飞机的tailnum(机尾编号),可作为飞机唯一标识符,完成下列问题:
• 创建一个名为flights.Planes.Info的新data.frame,其中记录不同飞机的飞行次数、平均飞行距离、平均延误时间,并按照平均延误时间从大到下排序。(使用dplyr包中的一系列函数)
• planes数据集中有一个变量叫manufacturer,表示该架飞机的制造商。请根据flights中的飞行次数,挑选出飞行次数最多的5家飞机制造商。
• 在问题2的基础上,将flights数据集中这5家飞机制造商的相关飞行记录提取出来,构造一个名为flights.Top5的data.frame。