在数据质量得到保证的前提下,通过绘制图表、计算某些统计量等手段对数据的分布特征和贡献度进行分析(帕累托分析),分布分析能够揭示数据的分布特征和分布类型,对于定量数据,可以做出频率分布表、绘制频率分布直方图显示分布特征;对于定性数据,可用饼图和条形图显示分布情况。帕累托分析在频率分布直方图的基础上,绘制累积频率,计算投入的效益。

下面的例子使用vcd包中的Arthritis数据集来做数据的分布分析和帕累托分析。

 

对于定量数据,做频率分布表,绘制频率分布直方图。选择“组数”和“组宽”是做频率分布分析时遇到的最主要问题,一般按照以下5个步骤来实现:

·求值域(range):值域 = 最大值 - 最小值

·决定组距和组数:组距是每个区间的长度,组数 = 值域 / 组距

·决定组限: 组限是指每个区间的端点,这一步是要确定每组的起点和终点

·列出频率分布表

·绘制频率分布直方图

在进行分组时,应遵循的主要原则有:

·各组之间是互斥的

·各组的组距相等

(1)制作频率分布表

按照年龄段来计算频数,每10年为一个年龄段,统计各个年龄段的人数。由于Arthritis数据集中并没有该分类变量,这就需要自定义区间,按照分组的间隔来制作频数分布表

 

 

(2)绘制频率分布直方图

使用ggplot绘制频率分布直方图:

对于定性变量,通常根据分类来分组,然后统计分组的频数或频率,可以采用饼图或条形图来描述定性数据的分布:

·饼图的每一个扇形部分代表每一类型的百分比或频数,根据定性变量的类型把饼图分成几个部分,每一个部分的大小与每一个类型的频数成正比;

·条形图的高度代表每一类型的百分比或频数,条形图的宽度没有意义。

按照Improved变量的频数来绘制饼图和条形图:

1,绘制条形图

使用geom_bar绘制条形图:

 

 

2,绘制饼图

使用geom_bar()和 coord_polar() 函数来绘制饼图,通常情况下,饼图显示的是百分比,而直方图显示的某个分类的具体数值:

 

 

帕累托分析依据的原理是20/80定律,80%的效益常常来自于20%的投入,而其他80%的投入却只产生了20%的效益,这说明,同样的投入在不同的地方会产生不同的效益。

怕累托图的绘制过程是按照贡献度从高到低依次排列,并绘制累积贡献度曲线。当样本数量足够大时,贡献度通常会呈现20/80分布。

使用ggplot2绘制的帕累托图的脚本和图如下所示: