第二章 统计图表
当见过一个人后, 你首先对着干人的外表有个印象,比如高矮胖瘦等等,但更详细的也许一时说不出来。然而,当你再看到这个人活着这个人照片时,会马上又认出来。这个说明你的大脑中对这个人除了高矮胖瘦之外还存储来一些其他的信息,只不过一时难以用言语描绘而已,这些信息并不是这个人的全部信息,但能够反映出其某些关键特征。
一大堆数目本身也往往会使人眼花缭乱,没有人能够记住那些巨大的数据中的所有数值,但总是可以对数据形成一些印象。有些特征大略了解一下就可以得到。比如,这些数值的大致范围,是定性还是定量的,又多少变量,以及手机该数据的目的等等。
实际上,借助于一些图形或简单的运算,还可以了解一个数据的更多特征。
本章介绍如何用简单图表来概括数据的某些特征。当然,由于数据是从总体中产生的,其特征也反映了总体的特征,对数据的描述也是对其总体的一个近似的描述。
定量变量的图表示:直方图、盒形图、茎叶图和散点图
直方图
直方图(histogram)是定量变量最常用的图表之一。其作法是,把横轴分成若干通常等宽度的区间,然后计算数据在各个区间的频数,并在各区间上画出高度与数据在相应区间的频数成比例的矩形条。纵坐标当然也可能是比例,即把频数除以样本量,而不一定是频数,但这并不改变图的形状,而仅仅造成纵坐标单位的不同。
例1 (数据:Billianaires.txt) 该数据为福布斯公司根据直至2012年3月的资料提供的净资产超过10亿美元的世界富豪排行榜,展示了世界最富有的1223人(有的包括家族)的名次(Rank,为正整数,越小越富),名字(Name)、净资产(Net.Worth,单位10亿美元)、年龄(Age)、资产来源(Source,有关行业信息)、国籍(Country.of.Citizenship).也就是说有6个变量,其中,名次、净资产、年龄为定性变量;名字、资产来源及国际为定性变量。我们暂时关系资产和年龄这两个变量。我们可以用直方图来表示着两个变量的数据,使人们能够看出这些数目的大体分布或‘形状’。
下图就是利用这个数据由R软件所画的关于这些富人的年龄和财富的两个直方图。相应的R语言代码如下:
|
|
(假定读取的文件路径是:D:\R\1, 如果直接把这个路径拷贝到R中会出现错误,因为\是escape character(转义符), \才是真正的\字符,或者用/)
盒形图
比直方图简单一些的事盒型图(boxplot),又称箱图、箱线图、盒子图。下图为用Billianaires.txt数据所绘在中、日、美三个国家的富人年龄的盒形图。相应的R语言代码如下:
|
|
茎叶图
在上面介绍的直方图和盒形图中,已经看不到数值了,因此很难从图形恢复数据的原貌。下面引进另一种图:茎叶图(stem-and-leaf plots),以例1 数据的中国富人的年龄为例,下面的茎叶图可用R语句实现:
The decimal point is 1 digit(s) to the right of the |
3 | 0
3 | 899
4 | 0001123344
4 | 5555566666777788888888888889999999
5 | 00111223344
5 | 5556677777788999
6 | 0000012233
6 | 55667789
7 | 01
散点图
前面的每张图没有显示数量变量之间的关系,如果需要,则可以用散点图(scatter plot)来描述两个(甚至多个)数量变量的关系。对于两个变量来说,在图中,每一个点代表一个观测值,而它的横坐标和纵坐标则分别代表其相应于两个变量的取值,也可以把若干个变量都用纵坐标表示。
例2 (数据: global2000.txt, gl100.txt) 该数据为福布斯公司根据2012年4月之前的资料发布的世界上最大的2000个公司的排行榜。其中数据global2000.txt为全部名单,而g100.txt为其前100名。变量包括公司的名次(Rank,整数,越小名次月靠前)、公司名称(Company)、所在国家(Country)、销售额(Sales,单位10亿美元)、利润(Profit,单位10亿美元)、资产(Assets,单位10亿美元)、市场价值(Market.Value, 单位10亿美元)。
绘制下图的R代码为(其中identify()为互动式的手工选择函数):
定性变量的图表示:饼图和条形图
定性变量(或属性变量、分类变量)不能画出直方图、散点图和茎叶图,但可以用图描绘出他们各类的数目或者其他数量特征的比例。
仍以例2来说明。
饼图
饼图(pie chart)为一个由许多扇形组成的圆,各个扇形的大小比例等于变量各个水平(类)的频数或者是相关数量变量的比例。饼图比条形图简单,描述比例比较直观。但是当变量太多时饼图级不那么好看了。
下图表示包含大公司最多的国家中的前十名的公司数目的饼图,它的代码如下:
条形图
从饼图中仅仅看出了各个国家拥有的大公司的比例,而看不出具体数目,为了这个目的,条形图(bar plot)就更为恰当了。
与饼图相同的数据去绘制条形图,代码如下:
#其他图描述法
除了上面介绍的几种图外,还可以采用其他各种图形。下面简单介绍两种。
Chernoff面孔图
有种很独特的Chernoff面孔图(Chernoff Faces),它把矩阵形式的数据用面孔形式表现出来。不同的面孔体现数据各个变量的不同特征。当然,你必须熟悉这些面孔的各种器官和表情代表数据的什么特征才行。各个变量相遇的器官度量包括面孔长度,面孔宽度,面孔形状,嘴的上下高度,嘴的宽度,鼻子的长度,鼻子的宽度,耳朵的宽度,耳朵的长度等,各种变量的组合就形成面孔的不同表情。
下图用销售额、利润、资产及市场价值4个变量来描述世界前10位大公司的Chernoff面孔图,该图需要程序包 TeachingDemos,
代码如下:
星图
星图(star plot)也称为蜘蛛图或雷达图(spider/radar plot),它把各个变量按照大小向各个方向做射线段,形成星辰形状。这种图比面孔图容易理解,但比较死板。代码如下:
|
|