读入 R 包 ggplot2 中的数据集 mpg, 展示其中前 3 条记录; • 描绘出所有汽车信息记录中, 每加仑燃料城市里程 (cty) 与每加仑燃 料高速里程 (hwy) 的分布状况; • 比较上述两组变量分布的差异, 并分别利用直方图, 密度曲线, 箱线图 进行描述, 形成结论; • 统计该数据集中各汽车厂商 (manufacturer) 生产汽车的数量, 并用条 形图进行展示; • 对道奇车型中, 对不同气缸数 (cyl) 分别为 4, 5, 6, 8 的车型进行统计, 并用颜色标记出其中驱动方式 (drv) 不同的数据; • 分别比较 1999 与 2008 年中各类型 (class) 车的占比, 并统计 1999 年 与 2008 年排量在 2 到 4 L 中各车型 (class) 的数量.
时间: 2023-06-06 18:06:57 浏览: 102
好的,让我来回答你的问题。
对于你的第一个问题,展示前三条记录并描绘每加仑燃料城市里程与每加仑燃料高速里程的分布状况,可以使用下面的代码:
```r
# 导入 ggplot2 包中的 mpg 数据集
library(ggplot2)
mpgData <- mpg
# 展示前三条记录
head(mpgData, 3)
# 绘制散点图,x 轴为每加仑燃料城市里程,y 轴为每加仑燃料高速里程
ggplot(mpgData, aes(x=cty, y=hwy)) + geom_point()
```
上述代码会展示前三条记录,同时绘制出所有汽车信息记录中,每加仑燃料城市里程与每加仑燃料高速里程的分布状况。
接下来,我们可以通过各种图形来比较两组变量分布的差异。比如,可以绘制直方图、密度曲线、箱线图,形成结论。代码如下:
```r
# 绘制直方图,比较cty 和 hwy 的分布
ggplot(mpgData, aes(x=cty)) + geom_histogram(binwidth=2, fill="steelblue", alpha=0.7) + geom_histogram(aes(x=hwy), binwidth=2, fill="orange", alpha=0.7)
# 绘制密度曲线,比较cty 和 hwy 的分布
ggplot(mpgData, aes(x=cty, fill="cty")) + geom_density(alpha=0.7) + geom_density(aes(x=hwy, fill="hwy"), alpha=0.7) + scale_fill_manual(values=c("cty"="steelblue", "hwy"="orange"))
# 绘制箱线图,比较cty 和 hwy 的分布
ggplot(mpgData, aes(x=as.factor(1), y=cty)) + geom_boxplot(fill="steelblue", alpha=0.7) + geom_boxplot(aes(y=hwy), fill="orange", alpha=0.7) + scale_x_discrete(labels="") + ylab("Miles Per Gallon") + ggtitle("Comparison of cty and hwy")
```
上述代码会分别绘制出直方图、密度曲线和箱线图。通过这些图形,我们可以分析出不同变量之间的分布状况。
接下来,我们可以统计该数据集中各汽车厂商生产汽车的数量,并用条形图进行展示。代码如下:
```r
mpgData$manufacturer <- as.factor(mpgData$manufacturer)
counts <- table(mpgData$manufacturer)
barplot(counts, main="Number of cars by manufacturer", xlab="Manufacturer", ylab="Number of cars")
```
上述代码会统计不同汽车厂商生产汽车的数量,并用条形图进行展示。
然后,我们需要对道奇车型中,对不同气缸数分别为4,5,6,8的车型进行统计,并用颜色标记出其中驱动方式不同的数据。代码如下:
```r
ggplot(subset(mpgData, manufacturer == "dodge"), aes(x=cty, y=hwy, color=drv, shape=factor(cyl))) + geom_point() + ggtitle("Relation between City Miles Per Gallon and Highway Miles Per Gallon for Dodge Cars")
```
上述代码会根据不同的气缸数和驱动方式,绘制出道奇车型中的散点图。
最后,我们可以分别比较1999与2008年中各类型车的占比,并统计1999年与2008年排量在2到4L中各车型的数量。代码如下:
```r
# 1999年各类型车的占比
counts1999 <- prop.table(table(subset(mpgData, year==1999)$class))
# 2008年各类型车的占比
counts2008 <- prop.table(table(subset(mpgData, year==2008)$class))
# 统计1999年与2008年排量在2到4L中各车型的数量
counts1999_2to4L <- table(subset(subset(mpgData,year==1999), displ>=2 & displ<4)$class)
counts2008_2to4L <- table(subset(subset(mpgData,year==2008), displ>=2 & displ<4)$class)
```
上述代码会分别计算出1999与2008年各类型车的占比,以及1999年与2008年排量在2到4L中各车型的数量。
阅读全文