您的位置:

ggboxplot解析

一、ggboxplot概述

ggboxplot是R中的一种图形,它是由ggplot2包中的boxplot与ggpubr包中的StatBoxplot函数共同实现的。ggboxplot的主要作用是对数据进行离群值(outliers)分析和数据可视化,而且具有更大的灵活性和美观度。ggboxplot在R语言中是非常常用的图形,它可以在数据可视化中对于分组数据和多元数据有很好的表现表述。

ggboxplot的实现过程中,boxplot函数给出了基本的箱线图功能,而ggpubr包的StatBoxplot函数可以对箱线图的坐标轴和填充颜色进一步进行个性化设置,并允许用户添加更多的统计信息

二、ggboxplot应用场景

ggboxplot主要用于展示因变量$Y$和自变量$X$的关系,绘制不同分组或分类下$Y$的分布情况,并且可以更加美观地呈现数据。

ggboxplot通常可以用于以下几个场景:

1、当有两个或更多的不同因素$X$,且我们要比较他们与因变量$Y$的关系时,通常可以使用ggboxplot;

2、当要进行离群值分析,识别异常点时,ggboxplot也是一个有力的工具;

3、作为探索性数据分析(EDA)的一种手段,可以用ggboxplot展示出每个变量的基本情况,相对位置和数据离散程度。

三、ggboxplot基本语法

ggboxplot基本语法如下:

# 导入插件包
library(ggplot2)
library(ggpubr)

# ggboxplot基础
ggboxplot(data, x, y, color, ylab = "y-label", xlab = "x-label", main = "Main Title")

其中,data为数据集;x为自变量列名;y为因变量列名;color为分组依据的列名。其他参数如ylab、xlab和main则是对图形基础信息的设置。

四、ggboxplot实例

1、基础ggboxplot示例

下面的示例展示了如何使用ggboxplot绘制基础箱线图:

# 导入插件包
library(ggplot2)
library(ggpubr)

# 数据准备
data("ToothGrowth")
df <- ToothGrowth

# 基础ggboxplot
ggboxplot(df, x = "dose", y = "len",
          color = "dose", # 分组变量
          ylab = "Length of ToothGrowth", xlab = "Dose",
          main = "Test ggboxplot") + # 箱线图基础信息
  ggtitle("Box plot of tooth length by dose") + # 图形标题
  theme_classic(base_size = 14) # 图形样式

执行上述代码后,可以获得如下的箱线图结果:

2、添加显著性标记

在R中,除了提供常规性描述性统计量之外,我们还可以计算一些高阶统计量,例如均值(mean)、标准差(SD)和P值(p-values)等。ggboxplot可以通过向统计图形中添加统计标记来直观呈现这些信息。下面的示例展示了如何在ggboxplot中添加显著性标记:

# 添加显著性标记
ggboxplot(df, x = "dose", y = "len",
          color = "dose", # 分组变量
          ylab = "Length of ToothGrowth", xlab = "Dose",
          main = "Test ggboxplot") + # 箱线图基础信息
  stat_compare_means(aes(group = dose), method = "t.test") +  # 添加显著性标记
  ggtitle("Box plot of tooth length by dose") + # 图形标题
  theme_classic(base_size = 14) # 图形样式

执行上述代码后,可以获得如下的箱线图结果:

3、调整箱线图风格

ggboxplot提供了多种箱线图风格设置,可以通过一些可选的参数对箱线图进行基本的样式定制。下面的示例展示了如何通过参数对ggboxplot中的箱线图风格进行设置:

# 调整箱线图风格
ggboxplot(df, x = "dose", y = "len",
          color = "dose",
          ylab = "Length of ToothGrowth", xlab = "Dose",
          outlier.shape = 16, # 异常点样式
          outlier.size = 3, # 异常点大小
          boxsize = 0.3, # 箱子大小
          legend = "top",
          ggtheme = theme_gray(),
          notch = TRUE, # 中位数标记
          notch.lineWidth = 1.2, # 中位数线条宽度
          notch.fill = "blue", # 中位数填充颜色
          mean.symbol = 'square', # 均值标记
          mean.color = 'black', # 均值颜色
          mean.size = 3, 
          mean.linetype = 'dashed', # 均值线型
          mean.show.guides = TRUE, # 均值显示指引线
          mean.guide.size = 0.2, # 指引线大小
          mean.guide.color = 'red', # 指引线颜色
          ggtitle = "Boxplot of tooth length by dose") + # 图形标题
  theme_classic(base_size = 14) # 图形样式

执行上述代码后,可以获得如下的箱线图结果:

四、总结

通过本文的介绍和实例,我们可以了解到ggboxplot在R语言中的使用方法。ggboxplot主要用于展示因变量$Y$和自变量$X$的关系,绘制不同分组或分类下$Y$的分布情况,并且可以更加美观地呈现数据。除了基础ggboxplot,ggboxplot还可以通过添加显著性标记和调整箱线图风格来定制评论图。在使用ggboxplot的过程中,我们需要灵活运用各种参数来调整自定义图形。最终,ggboxplot成为R语言数据可视化中不可或缺的一部分。