如何使用 ggplot2 在 R 中创建没有胡须的箱线图?
箱线图是一种以四分位数的形式表示一组数值数据的方法。四分位数是整个数据集中特定百分位数的值。箱线图表示数据集的五位数汇总。五位数汇总将数据的值作为最小值、第一四分位数、第二四分位数(中位数)、第三四分位数和最大值。
如上图所示,箱线图也有从第一个四分位数到最小值以及从第三个四分位数到最大值的须线。本文重点介绍没有胡须的箱线图。
箱线图的组成部分
- 最小值:数据集中不包括异常值的最小值。
- 第一四分位数 (Q1) :数据集中第 25 个百分位数处的值。
- 第二四分位数 (Q2) :数据集中第 50 个百分位数处的值。它也被称为数据的中位数。
- 第三四分位数 (Q3) :数据集中第 75 个百分位数处的值。
- 最大值:数据集中不包括异常值的最大值。
- 四分位距 (IQR) :第一四分位数 (Q1) 和第三四分位数 (Q3) 之间的距离。 IQR 定义如下:
- 晶须:上面显示的从最小值到 Q1 和 Q3 到最大值的线是晶须。
- 异常值:任何小于最小值和大于最大值的值都是数据的异常值。
使用的函数:
Syntax: boxplot(x, data, notch, varwidth, names, main)
Parameters:
- x: This parameter sets as a vector or a formula.
- data: This parameter sets the data frame.
- notch: This parameter is the label for horizontal axis.
- varwidth: This parameter is a logical value. Set as true to draw width of the box proportionate to the sample size.
- main: This parameter is the title of the chart.
- names: This parameter are the group labels that will be showed under each boxplot.
程序 1:常规箱线图
R
x <- 1:20
y <- sample(1000,20, replace = TRUE)
df <- data.frame(x,y)
library(ggplot2)
ggplot(df, aes(x,y, group =1))+geom_boxplot()
R
x <- 1:20
y <- sample(1000,20, replace = TRUE)
df <- data.frame(x,y)
library(ggplot2)
ggplot(df,aes(x,y, group =1))+geom_boxplot(coef=0)
输出 :
现在为了创建没有胡须的相同绘图,geom_boxplot()函数的参数 coef 应该设置为 0。这里,参数 coef 是胡须的长度,作为 IQR 的倍数。默认值为 1.5,但这里我们将其设置为 0。因此,胡须被消除了。
方法
- 导入库
- 创建数据
- 创建数据框
- 绘制没有胡须的 bolblot
方案二:
电阻
x <- 1:20
y <- sample(1000,20, replace = TRUE)
df <- data.frame(x,y)
library(ggplot2)
ggplot(df,aes(x,y, group =1))+geom_boxplot(coef=0)
输出 :