ggplot2 您所在的位置:网站首页 ggplot2画箱线图生信分析 ggplot2

ggplot2

2024-03-09 19:59| 来源: 网络整理| 查看: 265

目录 一、前面的啰嗦二、绘图数据说明三、基本箱线图四、分组箱线图1. 单分类变量的分组箱线图1.1 基本版1.2 美化版 2. 双分类变量的分组箱线图2.1 基本版2.2 美化版 五、箱线图完整版代码1. 基本箱线图的完整代码2. 单变量分组箱线图的完整代码3. 双变量分组箱线图的完整代码 六、思考与优化

一、前面的啰嗦

本教程对绘图所需数据和绘图过程进行了一步步的解释,稍显啰嗦,没时间细看或不想一步步看的朋友可以直接点击目录最后一节: 五、箱线图完整版代码

二、绘图数据说明

用到的数据是mpg数据集,这是ggplot2包自带的数据集,可以使用以下代码查看该数据集的基本情况:

library(ggplot2) ?mpg # 或者help(mpg)

从帮助文档中可以看出这是一个234x11的数据框,它记录了美国1999年和2008年部分汽车的制造厂商,型号,类别,驱动程序和耗油量等信息。 下面看一下这11列的情况:

library(ggplot2) # str查看数据集的基本情况 str(mpg) ## tibble [234 x 11] (S3: tbl_df/tbl/data.frame) ## $ manufacturer: chr [1:234] "audi" "audi" "audi" "audi" ... ## $ model : chr [1:234] "a4" "a4" "a4" "a4" ... ## $ displ : num [1:234] 1.8 1.8 2 2 2.8 2.8 3.1 1.8 1.8 2 ... ## $ year : int [1:234] 1999 1999 2008 2008 1999 1999 2008 1999 1999 2008 ... ## $ cyl : int [1:234] 4 4 4 4 6 6 6 4 4 4 ... ## $ trans : chr [1:234] "auto(l5)" "manual(m5)" "manual(m6)" "auto(av)" ... ## $ drv : chr [1:234] "f" "f" "f" "f" ... ## $ cty : int [1:234] 18 21 20 21 16 18 18 18 16 20 ... ## $ hwy : int [1:234] 29 29 31 30 26 26 27 26 25 28 ... ## $ fl : chr [1:234] "p" "p" "p" "p" ... ## $ class : chr [1:234] "compact" "compact" "compact" "compact" ...

每一列的解释如下:

model: model namedispl: 发动机排量(engine displacement, in litres)year: 发行时间,仅有1999和2008cyl: 汽缸数目(number of cylinders)trans: 变速器类型(type of transmission)drv: 表示驱动程序,是一个分类变量,详细解释为:the type of drive train, where f = front-wheel drive, r = rear wheel drive, 4 = 4wdcty: city miles per gallon,每加仑城市里程,耗油量的一种计量方式。hwy: highway miles per gallon,每加仑公路行驶里程,也是耗油量的一种计量方式。 三、基本箱线图

下面对hwy绘制箱线图,查看这些汽车的耗油量分布情况。

library(ggplot2) ggplot(data=mpg, aes(x="", y=hwy)) + geom_boxplot()

unnamed-chunk-3-1.png

可以看到耗油量的中位数在25附近,其中有两个离群点,这两辆汽车的耗油量很大。

这里绘制的图是一个横向的箱线图,如果要绘制纵向的箱线图(即上图顺时针旋转90度),只需要改一下代码中aes的参数,设置为x=hwy即可,如下所示:

ggplot(data=mpg, aes(x=hwy, y="")) + geom_boxplot()

unnamed-chunk-4-1.png

四、分组箱线图 1. 单分类变量的分组箱线图 1.1 基本版

下面绘制一下分组箱线图,看一下不同驱动程序的汽车的耗油量分布,其中驱动程序是mpg数据集中的drv变量,这是一个分类变量,首先查看数据情况:

class(mpg$drv) ## [1] "character" table(mpg$drv) ## ## 4 f r ## 103 106 25

开始画箱线图:

ggplot(data=mpg, aes(x=factor(drv), y=hwy, fill=factor(drv))) + geom_boxplot()

unnamed-chunk-6-1.png

由于mpg$drv的类别是character,而ggplot绘图进行分组所需要的变量类型是factor,因此需要将drv变量转为factor类别,但这里存在一个问题,就是横坐标轴标题出现了factor字样,图例的标题中也出现了factor字样,不是很美观,这个问题的解决方法有两个:

a. 直接对数据框的drv变量进行修改,将其改为factor类别:

mpg_new


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有