R语言中导入内置数据集iris,根据最后一列品种,将数据集分为三组,分别对三个品种的花萼长度,花萼宽度,花瓣长度,和花瓣宽度均绘制分组箱线图,每个品种采用不同的颜色显示,并修改横坐标名称为品种,纵坐标名称为测量值,标题为不同品种花朵特征的比较。(采用两种方法,常规绘图boxplot和ggplot绘图
时间: 2024-04-17 13:26:53 浏览: 84
在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 = "不同品种花朵特征的比较 - 花萼长度")
# 花萼宽度
boxplot(iris$Sepal.Width ~ iris$Species, col = c("red", "green", "blue"),
xlab = "品种", ylab = "测量值", main = "不同品种花朵特征的比较 - 花萼宽度")
# 花瓣长度
boxplot(iris$Petal.Length ~ iris$Species, col = c("red", "green", "blue"),
xlab = "品种", ylab = "测量值", main = "不同品种花朵特征的比较 - 花瓣长度")
# 花瓣宽度
boxplot(iris$Petal.Width ~ iris$Species, col = c("red", "green", "blue"),
xlab = "品种", ylab = "测量值", main = "不同品种花朵特征的比较 - 花瓣宽度")
```
```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() +
labs(x = "品种", y = "测量值", title = "不同品种花朵特征的比较 - 花萼长度")
print(p1)
# 绘制花萼宽度的箱线图
p2 <- ggplot(iris, aes(x = Species, y = Sepal.Width, fill = Species)) +
geom_boxplot() +
labs(x = "品种", y = "测量值", title = "不同品种花朵特征的比较 - 花萼宽度")
print(p2)
# 绘制花瓣长度的箱线图
p3 <- ggplot(iris, aes(x = Species, y = Petal.Length, fill = Species)) +
geom_boxplot() +
labs(x = "品种", y = "测量值", title = "不同品种花朵特征的比较 - 花瓣长度")
print(p3)
# 绘制花瓣宽度的箱线图
p4 <- ggplot(iris, aes(x = Species, y = Petal.Width, fill = Species)) +
geom_boxplot() +
labs(x = "品种", y = "测量值", title = "不同品种花朵特征的比较 - 花瓣宽度")
print(p4)
```
这样,您就可以使用常规绘图boxplot和ggplot绘图两种方法在R语言中绘制三个品种的花萼长度、花萼宽度、花瓣长度和花瓣宽度的分组箱线图,并且每个品种采用不同的颜色显示。同时,横坐标名称为品种,纵坐标名称为测量值,标题为不同品种花朵特征的比较。
阅读全文