R 简明教程

R - Boxplots

箱形图是衡量数据集中的数据分布状况的指标。它将数据集分成三个四分位数。此图表代表了数据集中最小值、最大值、中位数、第一四分位数和第三四分位数。它还可以通过绘制每个数据集的箱形图来比较不同数据集中的数据分布。

在 R 中使用 boxplot() 函数创建箱形图。

Syntax

在 R 中创建箱形图的基本语法为 -

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

以下是所用参数的描述 -

  1. x 是一个向量或一个公式。

  2. data 是数据框。

  3. notch 是一个逻辑值。设置为 TRUE 将绘制一个缺口。

  4. varwidth 是一个逻辑值。设置为 true 将绘制与样本大小成比例的箱宽度。

  5. names 是将打印在每个箱形图下的组标签。

  6. main 用于为图形命名。

Example

我们使用 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

Creating the Boxplot

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

# Give the chart file a name.
png(file = "boxplot.png")

# Plot the chart.
boxplot(mpg ~ cyl, data = mtcars, xlab = "Number of Cylinders",
   ylab = "Miles Per Gallon", main = "Mileage Data")

# Save the file.
dev.off()

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

boxplot

Boxplot with Notch

我们可以绘制带缺口的箱形图,以找出不同数据组的中位数如何彼此匹配。

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

# Give the chart file a name.
png(file = "boxplot_with_notch.png")

# Plot the chart.
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")
)
# Save the file.
dev.off()

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

boxplot with notch