读入 R 包 ggplot2 中的数据集 mpg, 统计该数据集中各汽车厂商 (manufacturer) 生产汽车的数量, 并用条 形图进行展示; • 对道奇车型中, 对不同气缸数 (cyl) 分别为 4, 5, 6, 8 的车型进行统计, 并用颜色标记出其中驱动方式 (drv) 不同的数据; • 分别比较 1999 与 2008 年中各类型 (class) 车的占比, 并统计 1999 年 与 2008 年排量在 2 到 4 L 中各车型 (class) 的数量
时间: 2023-06-09 16:04:10 浏览: 79
感谢您的提问!以下是针对您的问题的解答:
1. 统计汽车厂商生产汽车的数量,并用条形图展示:
```
library(ggplot2)
# 读取 mpg 数据集
data(mpg)
# 统计各厂商汽车数量
manufacturer_count <- mpg %>%
group_by(manufacturer) %>%
summarise(count = n())
# 生成条形图
ggplot(manufacturer_count, aes(x = manufacturer, y = count)) +
geom_bar(stat = "identity") +
xlab("厂商") +
ylab("汽车数量") +
ggtitle("汽车厂商生产数量统计")
```
2. 对道奇车型中,对不同气缸数为 4、5、6、8 的车型进行统计,并用颜色标记出其中驱动方式不同的数据:
```
# 选择道奇车型的数据
dodge_mpg <- mpg %>%
filter(manufacturer == "dodge")
# 定义颜色映射字典
color_dict <- c("4" = "red", "5" = "green", "6" = "blue", "8" = "purple")
# 生成散点图
ggplot(dodge_mpg, aes(x = displ, y = hwy, color = as.factor(cyl))) +
geom_point(alpha = 0.6) +
facet_wrap(~drv) +
scale_color_manual(values = color_dict) +
labs(x = "发动机排量", y = "公路里程/加仑", title = "道奇不同气缸数车型驱动方式分布")
```
3. 比较 1999 年与 2008 年中各类型车的占比,并统计 1999 年与 2008 年排量在 2 到 4 L 中各车型的数量:
```
# 选择 1999 年、2008 年的数据
mpg_1999_2008 <- mpg %>%
filter(year %in% c(1999, 2008))
# 统计各类型车的数量
class_count <- mpg_1999_2008 %>%
group_by(year, class) %>%
summarise(count = n())
# 生成堆叠条形图
ggplot(class_count, aes(x = class, y = count, fill = as.factor(year))) +
geom_bar(stat = "identity") +
xlab("车类型") +
ylab("汽车数量") +
ggtitle("1999 年与 2008 年各类型车数量对比") +
scale_fill_discrete(name = "年份") +
theme(legend.position = "bottom")
# 统计 1999 年与 2008 年排量在 2 到 4 L 中各车型的数量
displ_count <- mpg_1999_2008 %>%
filter(between(displ, 2, 4)) %>%
group_by(year, class) %>%
summarise(count = n())
# 生成分面条形图
ggplot(displ_count, aes(x = class, y = count)) +
geom_bar(stat = "identity") +
xlab("车类型") +
ylab("汽车数量") +
ggtitle("1999 年与 2008 年 2 到 4 L 排量车型数量统计") +
facet_wrap(~year, ncol = 2)
```
希望这些代码可以满足您的需求!如有其他问题,欢迎继续提问。
阅读全文