最近,我正在读《深入浅出数据分析》这本书。

上期跟大家分享的书中主题是「」。

今天,我来聊聊「直方图的绘制及应用」,分别用Excel和R程序两种方式绘制直方图,体现数字的形状。

01 案例背景

1、数据的图形表示方法不计其数,直方图是其中出类拔萃的一种。直方图与柱状图有些相似,能迅速而有效地汇总数据。接下来你将用这种小巧而实用的图形量度数据的分布、差异、集中趋势等。

2、提出加薪请求前,要对加薪情况进行研究,了解老板的基准期望,预测结果。

3、由于你潜心研究星巴仕数据,因此得以一窥内幕:人力资源部过去三年加薪记录。



4、最好汇总一下数据。数据太多则很难一口气看完、看懂,除非先进行汇总,否则无法彻底领悟数据的意义。

5、先从将数据分解成基本数据块着手,有了这些数据块,就能观察平均值或其他你认为有用的汇总统计值。



6、画一张图体现获得各种加薪幅度的人数,这样就能一目了然地观察整个数据集。

02 用Excel画直方图

7、打开Data Analysis(数据分析)对话框。



8、选择直方图。



9、选择数据。



10、运行。按下OK(确定),分割数据。

11、直方图是一种功能强大的图形,无论数据集多庞大,直方图都能显示出数据点在数值范围内的分布情况。



12、另一方面,Excel的输出结果存在一些问题:区间(或组距)采用默认设置,结果X轴的数值杂乱不齐。X轴上代表各个区间的数字应为整数,相比使用小数,这样的图更易于观察。



13、直方图上的缺口意味着区间与区间之间没有数据。



14、这正是这个缺口应该表示的确切含义,起码在直方图绘制正确的时候是这样的。如果你认为这张直方图是正确的,并且数值之间有缺口,那你就大错特错了。你需要用一个软件工具(R软件)创建一张更好的直方图。

03 用R软件画直方图

15、安装并运行R:可以参考这篇文章下载安装R软件。

濡備綍瀹夎R涓嶳studio - 鐭ヤ箮

16、输入read命令,读取本地表格的数据,并赋值给data。

data=read.csv("C:/Users/admin/Downloads/hfda_ch09_employees.csv")

注意:

表格名称为「hfda_ch09_employees.csv」

表格位置输入时需要把“”变更为“/”,不然会报错。别问我怎么知道的,都是眼泪,试了好久,呜呜~

17、在R中输入下面这条指令,生成直方图:

hist(data$received,breaks=50)



18、你觉得这个直方图指令是什么意思?



19、直方图的柱体不仅能够量度被计量事物的数目(频数),还能体现各个区间所代表的整个数据集的百分比。



20、下面这些指令会让你对手头的数据集了解更深,还能得知人们的加薪分布。

sd(data$received) summary(data$received)



sd指令返回指定数据范围的标准偏差,summary()指令显示received(实际加薪)列的汇总统计值。



21、直方图很好地体现了平均值(mean)、中间值(median)和标准偏差。通过观察直方图,虽然无法看出具体的数值,但可以形成对数字的感觉。



22、如果直方图是对称的,则平均值和中间值会处于相同的位置——正中间。但在这个实例中,右侧的小峰将平均值拖离大峰的中心,而大部分观察对象都位于这里。也许我们该重新看看先前划分的数据块,弄清楚这些数据块是否和直方图有些关系。



04 用数据的子集绘制直方图

23、用数据的子集绘制直方图。

hist(data$received[date$year == 2007], breaks = 50)



这个直方图仅选择了2007年的加薪数据,基本形状与原来的直方图相同,坐标则有区别——例如最大的数据块中仅有8个人。但由于形状相同,2007年的群体可能与整个群体有相同的特性。



24、2008年情况与使用2007年数据时完全一样,R甚至选用完全一样的坐标绘制数据。

hist(data$received[data$year == 2008], breaks = 50)



25、尽管这个直方图的坐标有所不同,我们却再一次看到一个大峰和一个挨在大峰右边的小峰,这个图形显示出女性在这些年里的加薪情况,因此人数众多。

hist(data$received[data$gender == “F”], breaks = 50)



26、这个图形看起来非常像女性的加薪直方图。虽然坐标不同,但只要分析一下柱体,就能看出不同区间中的男性和女性的数目大致相同。像前面一样,这个图有两个峰。

hist(data$received[data$gender == “M”], breaks = 50)



27、有趣的事情出现了:只有一个峰。横坐标表明这些人(即未提出加薪的人)处于加薪范围的低端;纵坐标表明这些人为数众多。

hist(data$received[data$negotiated == FALSE], breaks = 50)



28、看来,把提过加薪要求和未提过加薪要求的人拆开后,两个峰会明显分离,我们看到:人员加薪大增,同时人数锐减。似乎要求加薪的人会在结果分布图上呈现完全不同的分布形态。

hist(data$received[data$negotiated == TRUE], breaks = 50)



05 分析直方图

29、是否选择提出加薪(即进行加薪谈判)决定了人们的加薪结果分布情况。只要提出加薪要求,整个直方图就向右移。



30、要是你对要求加薪子集做个汇总统计,就会发现,就像在两条曲线上观察到的一样,结果十分富有戏剧性。



31、对加薪数据的不同子集进行直方图分析之后,看得出获得大幅度加薪全靠提要求。毫无疑问,你应该谈判要求加薪。

32、既然已经分析了加薪数据,哪种策略会带来最好的结果就已经水落石出。



END


其他比较受欢迎的内容,希望对你有帮助:

如何给老板发工资?这样做节税15.6万

一次通关!全网最全CPA综合备考攻略

小强升职记:时间管理故事书

《十年涨薪30倍:财务职场透视》读书笔记

数据分析与心智模型

数据如何实现图形化?

看完点个赞,以后分享更多