ggplot2 | 您所在的位置:网站首页 › ggplot2画箱线图生信分析 › ggplot2 |
目录
一、前面的啰嗦二、绘图数据说明三、基本箱线图四、分组箱线图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()可以看到耗油量的中位数在25附近,其中有两个离群点,这两辆汽车的耗油量很大。 这里绘制的图是一个横向的箱线图,如果要绘制纵向的箱线图(即上图顺时针旋转90度),只需要改一下代码中aes的参数,设置为x=hwy即可,如下所示: ggplot(data=mpg, aes(x=hwy, y="")) + geom_boxplot()下面绘制一下分组箱线图,看一下不同驱动程序的汽车的耗油量分布,其中驱动程序是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()由于mpg$drv的类别是character,而ggplot绘图进行分组所需要的变量类型是factor,因此需要将drv变量转为factor类别,但这里存在一个问题,就是横坐标轴标题出现了factor字样,图例的标题中也出现了factor字样,不是很美观,这个问题的解决方法有两个: a. 直接对数据框的drv变量进行修改,将其改为factor类别: mpg_new |
CopyRight 2018-2019 实验室设备网 版权所有 |