21 基础绘图之直方图与箱线图

在上一篇教程中,我们学习了如何绘制基本的散点图与线图。今天,我们将继续探索R的基础绘图功能,专注于两个重要的图形:直方图箱线图。这两个图形是统计分析中不可或缺的工具,有助于我们理解数据的分布和离散程度。

直方图

直方图是一种用于展示数据分布的图形。它通过将数据分成若干个区间(或称为“bins”),然后计算每个区间内的数据数量来生成。

直方图的基本用法

在R中,我们可以使用hist()函数来创建直方图。下面是一个基本的直方图示例:

1
2
3
4
5
6
7
8
9
10
11
# 生成随机数据
set.seed(123)
data <- rnorm(1000, mean = 50, sd = 10)

# 绘制直方图
hist(data,
main = "随机数据的直方图",
xlab = "值",
ylab = "频数",
col = "lightblue",
border = "black")

在这个例子中,我们使用rnorm()函数生成了1000个服从正态分布的随机数,均值为50,标准差为10。然后,我们用hist()函数绘制了直方图。在这里:

  • main参数用于设置图形的标题。
  • xlabylab分别设置X轴和Y轴的标签。
  • col设置直方图的填充颜色。
  • border设置直方图边缘的颜色。

直方图的美化

为了使直方图更加美观,我们可以调整breaks参数来改变区间的数量,或者添加概率密度曲线:

1
2
3
4
5
6
7
8
9
10
11
# 绘制带有概率密度曲线的直方图
hist(data,
breaks = 30,
probability = TRUE,
main = "带有概率密度的直方图",
xlab = "值",
col = "lightblue",
border = "black")

# 添加密度曲线
lines(density(data), col = "red", lwd = 2)

在这个例子中,breaks设置为30,使得直方图的区间更加细致。probability=TRUE将Y轴转换为概率密度,并便于叠加密度曲线。使用lines()函数,我们可以将密度曲线添加到直方图中。

箱线图

箱线图是一种用于展示数据集的分布情况的图形,通过显示中位数、四分位数和异常值来提供数据的整体视图。

箱线图的基本用法

在R中,可以使用boxplot()函数绘制箱线图。以下是一个基本的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 生成随机数据
set.seed(123)
data1 <- rnorm(100, mean = 50, sd = 10)
data2 <- rnorm(100, mean = 55, sd = 5)

# 创建数据框
data_combined <- data.frame(
values = c(data1, data2),
group = factor(rep(c("组1", "组2"), each = 100))
)

# 绘制箱线图
boxplot(values ~ group,
data = data_combined,
main = "组别的箱线图",
xlab = "组别",
ylab = "值",
col = c("lightgreen", "lightblue"))

在这个代码中,我们生成了两个服从不同正态分布的随机数据集,并使用data.frame()合并它们。然后,通过boxplot()函数绘制箱线图,在这里:

  • values ~ group指定了Y轴为values而X轴为group
  • col参数设置每个组的颜色。

箱线图的美化

我们可以进一步美化箱线图,例如添加点图以显示每个观测值:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 绘制箱线图并添加点
boxplot(values ~ group,
data = data_combined,
main = "组别的箱线图",
xlab = "组别",
ylab = "值",
col = c("lightgreen", "lightblue"),
outline = FALSE) # 不显示异常值

# 添加点
stripchart(values ~ group,
data = data_combined,
vertical = TRUE,
pch = 19,
col = "red",
add = TRUE)

在这个例子中,使用stripchart()函数为每组的观测值添加了点,这样可以更直观地观察数据分布。

总结

在本篇教程中,我们学习了如何使用R进行直方图箱线图的绘制。这些基本的绘图技能将帮助我们更好地理解数据的分布特征,并为后续使用更复杂的绘图包(如ggplot2)打下基础。下一篇中,我们将深入探讨ggplot2包的基本使用,提升我们的绘图能力。

希望你们喜欢这次的学习!如果有任何问题,欢迎留言讨论。

21 基础绘图之直方图与箱线图

https://zglg.work/r-lang-zero/21/

作者

AI免费学习网(郭震)

发布于

2024-08-13

更新于

2024-08-13

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论