R - 盒形图:数据分布可视化的初学者指南
你好,有抱负的数据巫师们!今天,我们将使用R语言开启一段激动人心的盒形图之旅。如果你之前从未编写过代码,也不用担心——我会成为你的友好向导,我们将一步一步地学习。在本教程结束时,你将能够像一个专业人士一样创建漂亮的盒形图!
什么是盒形图?
在我们深入代码之前,让我们先了解一下什么是盒形图。想象一下,你试图总结班级中所有学生的身高。盒形图就像是一个小巧的盒子,可以让你一眼看出数据的分布情况。它是观察数据的中位数、四分位数以及任何异常值的绝佳方式。
创建你的第一个盒形图
设置R环境
首先,确保我们已经准备好R环境。如果你还没有安装R,请访问R的官方网站,并按照操作系统的安装说明进行安装。
一旦安装了R,打开你的R控制台或如果你在使用RStudio,就打开它。我们现在准备创建一些盒形图!
盒形图的基本语法
在R中创建盒形图的基本语法出奇地简单。以下是它的样子:
boxplot(data)
让我们用一些真实的数据来尝试一下。我们将使用内置的mtcars
数据集,它包含了各种汽车模型的信息。
# 创建一个基本的汽车里程数盒形图
boxplot(mtcars$mpg)
当你运行这段代码时,你将看到一个盒形图出现。让我们分解一下你所看到的:
- 盒子中间的粗黑线是中位数。
- 盒子底部代表第一四分位数(25%的数据低于这个点)。
- 盒子顶部代表第三四分位数(75%的数据低于这个点)。
- 胡须(从盒子延伸出的线)显示数据的范围。
- 任何超出胡须的点都被认为是异常值。
添加颜色和标签
现在,让我们使我们的盒形图更加信息和视觉吸引人:
# 创建一个更详细的盒形图
boxplot(mtcars$mpg,
main="汽车里程分布",
ylab="每加仑英里数",
col="浅蓝色",
border="深蓝色")
在这个例子中:
-
main
给我们的图添加了一个标题。 -
ylab
为y轴添加了标签。 -
col
用浅蓝色填充了盒子。 -
border
使盒子的轮廓变为深蓝色。
比较多个组
盒形图的一个优点是能够并排比较不同的组。让我们比较不同气缸数的汽车的里程:
# 比较不同气缸数的汽车里程
boxplot(mpg ~ cyl, data=mtcars,
main="汽车里程按气缸数",
xlab="气缸数",
ylab="每加仑英里数",
col=c("浅绿色", "浅蓝色", "粉红色"))
在这里,我们使用公式表示法mpg ~ cyl
,告诉R为cyl
中的每个唯一值创建mpg
的盒形图。我们也为每个组添加了不同的颜色。
带有缺口的盒形图
既然我们已经掌握了基础知识,让我们通过添加缺口来使我们的盒形图更加精致。
缺口是什么?
缺口是盒子侧面的一个小凹槽。它不仅是为了美观——它实际上帮助我们比较组间的中位数。如果两个盒子的缺口不重叠,那么这是一个强烈的证据,表明中位数是不同的。
创建带缺口的盒形图
让我们修改之前的例子来包含缺口:
# 创建一个带缺口的盒形图
boxplot(mpg ~ cyl, data=mtcars,
main="汽车里程按气缸数",
xlab="气缸数",
ylab="每加仑英里数",
col=c("浅绿色", "浅蓝色", "粉红色"),
notch=TRUE)
这里唯一新的参数是notch=TRUE
。这个简单的添加给了我们那些信息丰富的缺口。
解释带缺口的盒形图
仔细观察缺口。如果两个盒子的缺口不重叠,我们可以确信这些组的真实中位数(中间值)是不同的。这是一种快速直观的方式来发现组之间的显著差异!
定制你的盒形图
既然你已经掌握了基础知识,让我们看看如何使你的盒形图更加信息和视觉吸引人。
添加个体数据点
有时,看到实际的盒形图旁边的数
Credits: Image by storyset