我们所运用的数据样本,是美国交通运输部关于飞机准点到达率的统计。
世界上每天都有数以千计的航班在全球飞行,对于航班数据的分析不但能够帮助机场优化航班管理,同时也能调整航班班次,让用户享受到更准时舒适的航班。在此,我们提供一份航班数据供大家学习分析。
我们将结合R语言对于数据进行样例分析。[7]
由于数据样本量比较庞大,我们仅选取其中的一部分进行分析,以旧金山的飞机准点率作为样本进行分析。
首先我们需要导入数据并且读取数据(图2-8)。
图2-8 旧金山飞机时间相关源数据读入代码
我们可以看到这组数据中包括了许多飞机在旧金山机场的信息,那么这个机场的航班有多少准点率,又有多少航班被延误甚至取消呢?首先让我们来研究一下“DepDelay”这一列,我们该如何研究这些数据呢?又能呈现哪些可视化?(图2-9)
图2-9 与飞机时间相关源数据读入代码
在这里我们要注意的是“NA”,让我们列出在这一组数据中所有的NA(图2-10)。
图2-10 列出数据中所有的NA代码
因此,NA所对应的航班就是已取消的。(Cancelled=1)
在完成数据的基本处理之后,我们将选择适当的图表进行数据展示(如图2-11数据绘图)。
图2-11 选择性数据代码展示
首先,让我们来画一下有关飞机延误的柱状图,见图2-12。
图2-12 旧金山飞机延误的相关源数据柱状图
从这个柱状图里面你能看出什么?
你觉得在这里的中位数和平均值有多少代表性?它们的区别又是什么?
(1)移除一些数据的影响
那些在数据表中的NA在图中是怎么显示的?如果它并没有在图中表现出来,那么这对于柱状图又意味着什么?
在这种情况下,可以添加一些“假”数据,来让它呈现在图上(图2-13,图2-14)。
图2-13 旧金山飞机时间相关源数据矫正代码
图2-14 旧金山飞机时间相关源数据柱状图
(2)构建一个柱状图
我们应该如何构建柱状图?从实用性上面来说,柱状图大多都是根据数据的范围,把它们平均地分成K个间隔,我们把它称之为(www.xing528.com)
b1≤b2≤…≤b K,
然后我们再数每个柱形当中的观测值。
(3)关于柱状图的间隔
在如图2-15例子中,我们对同一组数据做不同间隔的柱状图(图2-16)。
图2-15 旧金山飞机时间相关源数据柱状图代码
图2-16 旧金山飞机时间相关源数据柱状图3例
(a)默认间隔 (b)间隔=100 (c)间隔=1 000
哪个柱状图看上去更合理,应该如何选择间隔(breaks)?
(4)箱形图
箱形图是一种非常有用的可视化工具。它和柱状图在某种方面有相似之处,都是明显地显示出数据的分布。但是,对于分布来说,箱形图是一种很简化的分布。它只是用一个盒子来表示数据,它的极限分别是0.25和0.75(25%和75%),在箱形图中间的一条黑线则是它的中位数。并且箱形图对于表示出异常值也非常有用(图2-17,图2-18)。
图2-17 旧金山飞机时间相关源数据箱形图代码
图2-18 旧金山飞机时间相关箱形图
最上方的小圆点被称为“异常值”,在这里我们不去细究。在这个样本里面我们可以看到很多在样本范围之外的值,这并不是说这些值是“错误的”。
看到这里你一定会想,为什么我会选择这样一个比较有限制的可视化来做介绍,首先,箱形图强调的是分布的不同,它能很清晰、方便地表现出主要数据的大致分布,以及大致的异常值分布。
进一步来说,由于它的简便性,我们能够更容易地通过几组箱形图放在一起来作分析(图2-19,图2-20)。
图2-19 旧金山飞机时间相关源数据多组箱形图代码
图2-20 旧金山飞机时间相关多组箱形图—航空公司区分
注:AA—美国航空;AS—阿拉斯加航空;B6—捷蓝航空;DL—达美航空;F9—美国边疆航空;HA—夏威夷航空。
如果要用柱状图去呈现这种可视化是很难的,在图2-20中我们要注意的是,其中的异常值已经影响到我们所做的可视化效果,因此我将把它掩盖(mask)掉(图2-21,图2-22)。
图2-21 旧金山飞机时间相关源数据多组箱形图(无详细散点)代码
图2-22 旧金山飞机时间相关多组箱形图—航空公司区分(无详细散点)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。