R - 箱线图



箱线图是衡量数据集中数据的分布程度的指标。它将数据集分为三个四分位数。此图表表示数据集中的最小值、最大值、中位数、第一个四分位数和第三个四分位数。通过为每个数据集绘制箱线图来比较数据集之间的数据分布,它也很有用。

箱线图是使用 boxplot() 函数在 R 中创建的。

语法

在 R 中创建箱线图的基本语法是 −


boxplot(x, data, notch, varwidth, names, main)

以下是所用参数的描述 -

  • x 是向量或公式。
  • data 是数据框。
  • notch 是一个逻辑值。设置为 TRUE 以绘制缺口。
  • varwidth 是一个逻辑值。设置为 true 可按比例绘制框的宽度,与样本大小成比例。
  • names 是将打印在每个 boxplot 下的组标签。
  • main 用于为图形提供标题。

例子

我们使用 R 环境中可用的数据集 “mtcars” 来创建基本的箱线图。让我们看看 mtcars 中的列 “mpg” 和 “cyl”。


input <- mtcars[,c('mpg','cyl')]
print(head(input))

当我们执行上述代码时,它会产生以下结果 -

                   mpg  cyl
Mazda RX4         21.0   6
Mazda RX4 Wag     21.0   6
Datsun 710        22.8   4
Hornet 4 Drive    21.4   6
Hornet Sportabout 18.7   8
Valiant           18.1   6

创建箱线图

下面的脚本将为 mpg(每加仑英里数)和 cyl(气瓶数)之间的关系创建一个箱线图。


# 为图表文件命名。
png(file = "boxplot.png")

# 绘制图表。
boxplot(mpg ~ cyl, data = mtcars, xlab = "Number of Cylinders",
   ylab = "Miles Per Gallon", main = "Mileage Data")

# 保存文件。
dev.off()

当我们执行上述代码时,它会产生以下结果——

使用 R 的箱形图

带缺口的箱线图

我们可以绘制带有 Notch 的箱线图,以了解不同数据组的中位数如何相互匹配。

下面的脚本将为每个数据组创建一个带有缺口的箱线图。


# 为图表文件命名。
png(file = "boxplot_with_notch.png")

# 绘制图表。
boxplot(mpg ~ cyl, data = mtcars, 
   xlab = "Number of Cylinders",
   ylab = "Miles Per Gallon", 
   main = "Mileage Data",
   notch = TRUE, 
   varwidth = TRUE, 
   col = c("green","yellow","purple"),
   names = c("High","Medium","Low")
)
# 保存文件。
dev.off()

当我们执行上述代码时,它会产生以下结果——

使用 R 的带缺口的箱形图