【2.4】ggplot2-boxplot

盒图是在1977年由美国的统计学家约翰·图基(John Tukey)发明的。它由五个数值点组成:最小值(min),下四分位数(Q1),中位数(median),上四分位数(Q3),最大值(max)。也可以往盒图里面加入平均值(mean)。如上图。下四分位数、中位数、上四分位数组成一个“带有隔间的盒子”。上四分位数到最大值之间建立一条延伸线,这个延伸线成为“胡须(whisker)”。

一、boxplot概念

由于现实数据中总是存在各式各样地“脏数据”,也成为“离群点”,于是为了不因这些少数的离群数据导致整体特征的偏移,将这些离群点单独汇出,而盒图中的胡须的两级修改成最小观测值与最大观测值。这里有个经验,就是最大(最小)观测值设置为与四分位数值间距离为1.5个IQR(中间四分位数极差)。即

  • IQR = Q3-Q1,即上四分位数与下四分位数之间的差,也就是盒子的长度。

  • 最小观测值为min = Q1 - 1.5*IQR,如果存在离群点小于最小观测值,则胡须下限为最小观测值,离群点单独以点汇出。如果没有比最小观测值小的数,则胡须下限为最小值。

  • 最大观测值为max = Q3 -1.5*IQR,如果存在离群点大于最大观测值,则胡须上限为最大观测值,离群点单独以点汇出。如果没有比最大观测值大的数,则胡须上限为最大值。

通过盒图,在分析数据的时候,盒图能够有效地帮助我们识别数据的特征:

  1. 直观地识别数据集中的异常值(查看离群点)。

  2. 判断数据集的数据离散程度和偏向(观察盒子的长度,上下隔间的形状,以及胡须的长度)。更多阅读:

http://blog.sina.com.cn/s/blog_4a0824490102w4i0.html

二、作图

boxplot某一块颜色标记

pg = PlantGrowth                 # Make a copy of the PlantGrowth data
pg$hl <- "no"                     # Set all to "no"
pg$hl[pg$group=="trt2"] = "yes"  # If group is "trt2", set to "yes"
ggplot(pg, aes(x=group, y=weight, fill=hl)) + geom_boxplot() +
		scale_fill_manual(values=c("grey85", "#FFDDCC"), guide=FALSE)

参考资料:

http://www.blogjava.net/norvid/articles/317235.html

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn