用ggplot画散点图用哪个版本(孙老湿画图系列第四弹箱形图)

用ggplot画散点图用哪个版本(孙老湿画图系列第四弹箱形图)(1)

箱形图是由美国数学家John Tukey(1915.6.16-2000.7.26)在1977年发明的,老爷子已过世,深切缅怀。

用ggplot画散点图用哪个版本(孙老湿画图系列第四弹箱形图)(2)

John Tukey

箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。其绘制须使用常用的统计量,能提供有关数据位置和分散情况的关键信息,尤其在比较不同的母体数据时更可表现其差异。

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

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

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

  • 用ggplot画散点图用哪个版本(孙老湿画图系列第四弹箱形图)(3)

    在分析数据的时候,箱形图能够直观的帮助我们了解数据的特征:

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

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

    为了更好的理解箱形图,模拟一个符合正态分布N(0,1σ2)的数据,比较箱形图和正态分布曲线,如下图:

    用ggplot画散点图用哪个版本(孙老湿画图系列第四弹箱形图)(4)

    首先我们加载模拟数据mpg,用head()查看数据结构:

    library(ggplot2)

    data(mpg)

    head(mpg[c("class","hwy")]) #因为我们绘图只用到两列,所以只查看需要的两列就可以了

    用ggplot画散点图用哪个版本(孙老湿画图系列第四弹箱形图)(5)

    ggplot中绘制箱形图使用的几何对象是geom_boxplot(),至少需要两个映射对象,x=>分类变量,y=>数值变量。选用主题theme_bw(),并通过theme()修改坐标轴字体等。

    p <- ggplot(mpg, aes(class, hwy, fill =class))

    geom_boxplot()

    theme_bw()

    theme(axis.title = element_text(size = 20),

    axis.text = element_text(size = 16, color = "black"),

    legend.position = "none")

    p

    用ggplot画散点图用哪个版本(孙老湿画图系列第四弹箱形图)(6)

    添加扰动点geom_jitter(),并且翻转坐标轴coord_flip()。

    p <- ggplot(mpg, aes(class, hwy, fill =class))

    geom_boxplot(notch = TRUE)

    theme_bw()

    geom_jitter(width = 0.2)

    theme(axis.title = element_text(size = 20),

    axis.text = element_text(size = 16, color = "black"),

    legend.position = "none")

    coord_flip()

    p

    用ggplot画散点图用哪个版本(孙老湿画图系列第四弹箱形图)(7)

    本系列课程主要侧重于讲解图形原理,以及在ggplot2中的实现过程,并没有特意追求美观,故很多图的细节部分修饰有限,大家重点理解实现过程。

    本期箱形图就分享到这里!下期,韦恩图,孙老湿与你不见不散!

    用ggplot画散点图用哪个版本(孙老湿画图系列第四弹箱形图)(8)

    ,

    免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

      分享
      投诉
      首页