箱型图(Boxplot)是一种用于展示数据分布情况的可视化工具。它由五个统计量组成:最小值、第一四分位数(Q1)、中位数、第三四分位数(Q3)、和最大值。在箱型图中,箱子的上边界表示第三四分位数(Q3),下边界表示第一四分位数(Q1),而箱子中间的线表示中位数。箱子的长度代表了数据的四分位距(IQR,即Q3和Q1的差值),箱型图有助于识别数据的中间50%范围。
箱型图也可以显示异常值,这些异常值通常是距离数据集中部较远的数值。箱型图的绘制方法如下:
- 画一条直线表示最大值和最小值之间的范围。
- 在这条线的两端画一个箱子,箱子的上边界是Q3,下边界是Q1,箱子的中间线是中位数。
- 如果数据中存在异常值(超出最大最小值范围的值),则会单独以点或其他符号显示出来。
箱型图能够快速地展示出数据的中心位置、离散程度以及异常值的情况,有助于对比不同数据集的分布情况或者同一数据集在不同条件下的变化。
示例图:
源代码
# 创建示例数据
set.seed(123) # 设置随机种子以保证结果可复现
data <- list(
Group1 = rnorm(50, mean = 10, sd = 2),
Group2 = rnorm(50, mean = 12, sd = 2),
Group3 = rnorm(50, mean = 11, sd = 2),
Group4 = rnorm(50, mean = 10.5, sd = 2),
Group5 = rnorm(50, mean = 12.5, sd = 2)
)
# 合并数据为一个数据框
df <- stack(data)
# 创建颜色向量
box_fill_colors <- c("red", "blue", "green", "purple", "orange")
box_border_colors <- c("black", "black", "black", "black", "black")
# 绘制箱线图
boxplot(values ~ ind, data = df,
main = "",
xlab = "Groups",
ylab = "Values",
col = "transparent", # 设置箱线图填充颜色为透明
border = box_border_colors, # 设置箱线图边框颜色
boxwex = 0.5, # 调整箱子宽度
pch = 19, # 设置实心圆点的形状编号
density = 10 # 设置填充样式
)
# 添加随机实心点
for (i in 1:5) {
points(runif(50, min = i - 0.2, max = i + 0.2), data[[i]], col = box_fill_colors[i], pch = 16)
}
图中的黑实心圆为离群值,
统计学中,离群值(outliers)是指与其他观测值相比显著不同的数值,它们可能远离数据的大部分。离群值可以是异常值或者是一些在数据收集过程中产生的错误值。通常,离群值可能是由于测量误差、实验异常或数据录入错误等原因导致的。
在箱线图中,离群值被定义为落在箱体上下限之外的数值。箱线图中的箱体显示了数据的四分位数范围,而箱体外的点通常被认为是离群值。这些点被认为不符合数据的一般趋势,可以是相对异常的值。
在R中,箱线图通常使用IQR(四分位数间距)的1.5倍作为离群值的界限:小于Q1 - 1.5 * IQR或大于Q3 + 1.5 * IQR的观测值会被视为离群值。其中,Q1是数据的第一个四分位数(25th percentile),Q3是第三个四分位数(75th percentile),IQR是四分位数间距。
箱型图与正态分布之间的关系如下: