📜  在 R 中的一张图中绘制多个箱线图(1)

📅  最后修改于: 2023-12-03 15:37:28.140000             🧑  作者: Mango

在 R 中的一张图中绘制多个箱线图

如果想要对比多个变量的分布情况,可以在一张图中绘制多个箱线图。

准备数据

我们以 iris 数据集为例,选择其中的 Sepal.LengthSepal.WidthPetal.LengthPetal.Width 四个变量。

library(datasets)
data(iris)
绘制单独的箱线图

首先,我们可以用 ggplot2 绘制单独的箱线图,代码如下:

library(ggplot2)
ggplot(iris, aes(x = Species, y = Sepal.Length)) + 
  geom_boxplot()

这里以 Sepal.Length 作为纵坐标,Species 作为横坐标。

绘制多个箱线图

如果想要在同一张图中绘制多个箱线图,可以使用 facet_wrap() 函数。该函数可以将不同子集的数据分别绘制在不同的小图中。代码如下:

ggplot(iris, aes(x = Species, y = value)) + 
  geom_boxplot() + 
  facet_wrap(~ variable, scales = "free_y")

其中,value 是一个新的变量,表示数值,将 Sepal.LengthSepal.WidthPetal.LengthPetal.Width 四个变量合并为一个变量,方便绘制。variable 是另一个新的变量,表示四个变量的名称。

facet_wrap() 函数将数据按照 variable 分成四组,分别绘制在不同的小图中。scales = "free_y" 参数表示每个小图的纵坐标刻度范围可以不同。

结论

通过在一张图中绘制多个箱线图,我们可以直观地比较不同变量的分布情况。在 R 中,使用 ggplot2facet_wrap() 函数可以轻松实现这一功能。