R - 箱线图


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

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

句法

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

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

以下是所使用参数的描述 -

  • x是向量或公式。

  • data是数据框。

  • notch是一个逻辑值。设置为 TRUE 以绘制凹口。

  • varwidth是一个逻辑值。设置为 true 以绘制与样本大小成比例的框宽度。

  • 名称是将打印在每个箱线图下的组标签。

  • 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(气缸数)之间的关系创建一个箱线图。

# 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()

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

使用 R 绘制箱线图

带缺口的箱线图

我们可以绘制带缺口的箱线图来找出不同数据组的中位数如何相互匹配。

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

# 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()

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

使用 R 绘制带缺口的箱线图