R语言中导入内置数据集iris,根据最后一列品种,将数据集分为三组,分别对三个品种的花萼长度,花萼宽度,花瓣长度,和花瓣宽度均绘制分组箱线图,每个品种采用不同的颜色显示,并修改横坐标名称为品种,纵坐标名称为测量值,标题为不同品种花朵特征的比较。(采用两种方法,常规绘图boxplot和ggplot绘图),并添加箱线图中实际的数据点,颜色与箱线图的颜色一致。
时间: 2024-04-17 17:26:56 浏览: 57
在R语言中,您可以使用以下代码来实现您的需求,包括添加箱线图中的实际数据点:
```R
# 导入内置数据集iris
data(iris)
# 分组绘制箱线图 - 常规绘图boxplot
par(mfrow = c(2, 2)) # 设置绘图区域为2行2列
# 花萼长度
boxplot(iris$Sepal.Length ~ iris$Species, col = c("red", "green", "blue"),
xlab = "品种", ylab = "测量值", main = "不同品种花朵特征的比较 - 花萼长度")
stripchart(iris$Sepal.Length ~ iris$Species, method = "jitter", pch = 19,
col = c("red", "green", "blue"), add = TRUE)
# 花萼宽度
boxplot(iris$Sepal.Width ~ iris$Species, col = c("red", "green", "blue"),
xlab = "品种", ylab = "测量值", main = "不同品种花朵特征的比较 - 花萼宽度")
stripchart(iris$Sepal.Width ~ iris$Species, method = "jitter", pch = 19,
col = c("red", "green", "blue"), add = TRUE)
# 花瓣长度
boxplot(iris$Petal.Length ~ iris$Species, col = c("red", "green", "blue"),
xlab = "品种", ylab = "测量值", main = "不同品种花朵特征的比较 - 花瓣长度")
stripchart(iris$Petal.Length ~ iris$Species, method = "jitter", pch = 19,
col = c("red", "green", "blue"), add = TRUE)
# 花瓣宽度
boxplot(iris$Petal.Width ~ iris$Species, col = c("red", "green", "blue"),
xlab = "品种", ylab = "测量值", main = "不同品种花朵特征的比较 - 花瓣宽度")
stripchart(iris$Petal.Width ~ iris$Species, method = "jitter", pch = 19,
col = c("red", "green", "blue"), add = TRUE)
```
```R
# 分组绘制箱线图 - ggplot绘图
library(ggplot2)
# 修改iris数据集的列名
colnames(iris) <- c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species")
# 绘制花萼长度的箱线图和数据点
p1 <- ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) +
geom_boxplot() +
geom_jitter() +
labs(x = "品种", y = "测量值", title = "不同品种花朵特征的比较 - 花萼长度")
print(p1)
# 绘制花萼宽度的箱线图和数据点
p2 <- ggplot(iris, aes(x = Species, y = Sepal.Width, fill = Species)) +
geom_boxplot() +
geom_jitter() +
labs(x = "品种", y = "测量值", title = "不同品种花朵特征的比较 - 花萼宽度")
print(p2)
# 绘制花瓣长度的箱线图和数据点
p3 <- ggplot(iris, aes(x = Species, y = Petal.Length, fill = Species)) +
geom_boxplot() +
geom_jitter() +
labs(x = "品种", y = "测量值", title = "不同品种花朵特征的比较 - 花瓣长度")
print(p3)
# 绘制花瓣宽度的箱线图和数据点
p4 <- ggplot(iris, aes(x = Species, y = Petal.Width, fill = Species)) +
geom_boxplot() +
geom_jitter() +
labs(x = "品种", y = "测量值", title = "不同品种花朵特征的比较 - 花瓣宽度")
print(p4)
```
这样,您就可以使用常规绘图boxplot和ggplot绘图两种方法在R语言中绘制三个品种的花萼长度、花萼宽度、花瓣长度和花瓣宽度的分组箱线图,并且每个品种采用不同的颜色显示。同时,横坐标名称为品种,纵坐标名称为测量值,标题为不同品种花朵特征的比较。并且,通过添加 `stripchart` 函数,可以在箱线图上显示实际的数据点,并且数据点的颜色与箱线图的颜色一致。
阅读全文