美文网首页R可视化和ggplot2
《R数据可视化手册》学习笔记2---快速探索数据(5)箱线图

《R数据可视化手册》学习笔记2---快速探索数据(5)箱线图

作者: RSP小白之路 | 来源:发表于2023-09-08 12:44 被阅读0次

    写在前面。

    很多时候在处理数据前或者出图前,可能需要先对数据整体情况进行了解。这个时候我们可以用到R基础绘图的语句ggplot2完成目标。

    接下来,我们分不同的图形类型进行啃书学习。


    5. 绘制箱线图

    如何绘制箱线图对不同分布进行比较?

    使用ToothGrowth数据集作为示例数据:

    > str(ToothGrowth)
    'data.frame':   60 obs. of  3 variables:
     $ len : num  4.2 11.5 7.3 5.8 6.4 10 11.2 11.2 5.2 7 ...
     $ supp: Factor w/ 2 levels "OJ","VC": 2 2 2 2 2 2 2 2 2 2 ...
     $ dose: num  0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 ...
    
    • 使用R基础绘图系统

    当传递给plot函数的x因子型变量时(与数值型变量对应),会绘制箱线图。

    plot(ToothGrowth$supp, ToothGrowth$len)
    
    基础绘图系统绘制

    当两个向量在一个数据集,可以使用公式语法

    boxplot( len~ supp, data = ToothGrowth)
    

    x轴使用两个变量交互:

    boxplot( len~ supp + dose, data = ToothGrowth)
    
    基础绘图系统绘制
    • 使用ggplot2qplot函数

    添加参数geom = "boxplot"

    qplot(ToothGrowth$supp,   ToothGrowth$len, geom = "boxplot")
    
    ggplot2绘制

    向量在同一数据集时,也可以使用如下语句,是等价的:

    qplot(supp, len, data = ToothGrowth, geom = "boxplot")
    dev.off()
    ggplot(ToothGrowth , aes(supp, len )) + geom_boxplot()
    

    使用interaction选项将分组变量组合在一起绘制多分组箱线图,如果所需数据均在一个数据集下,下面的语句都是等价的:

    qplot( interaction(ToothGrowth$supp,  ToothGrowth$dose) , ToothGrowth$len, geom = "boxplot")
    dev.off()
    qplot( interaction(supp, dose), len, data = ToothGrowth, geom = "boxplot")
    dev.off()
    ggplot(ToothGrowth , aes(interaction(supp, dose), len )) + geom_boxplot()
    

    都会产生如下数据结果:


    qplot绘制

    以上。

    相关文章

      网友评论

        本文标题:《R数据可视化手册》学习笔记2---快速探索数据(5)箱线图

        本文链接:https://www.haomeiwen.com/subject/xylbmdtx.html