📅  最后修改于: 2023-12-03 15:37:28.140000             🧑  作者: Mango
如果想要对比多个变量的分布情况,可以在一张图中绘制多个箱线图。
我们以 iris
数据集为例,选择其中的 Sepal.Length
、Sepal.Width
、Petal.Length
和 Petal.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.Length
、Sepal.Width
、Petal.Length
和 Petal.Width
四个变量合并为一个变量,方便绘制。variable
是另一个新的变量,表示四个变量的名称。
facet_wrap()
函数将数据按照 variable
分成四组,分别绘制在不同的小图中。scales = "free_y"
参数表示每个小图的纵坐标刻度范围可以不同。
通过在一张图中绘制多个箱线图,我们可以直观地比较不同变量的分布情况。在 R 中,使用 ggplot2
和 facet_wrap()
函数可以轻松实现这一功能。