引言
0基础开始学习R语言。
准备工作
R,R studio,R包 tidyverse。
install.package("tidyverse")
library(tidyverse)
使用的数据
mpg涵盖了由美国环境保护协会收集的38种车型的观测数据。
变量解释
- manufacturer
manufacturer name
- model
model name
- displ
engine displacement, in litres
- year
year of manufacture
- cyl
number of cylinders
- trans
type of transmission
- drv
the type of drive train, where f = front-wheel drive, r = rear wheel drive, 4 = 4wd
- cty
city miles per gallon
- hwy
highway miles per gallon
- fl
fuel type
- class
"type" of car
创建ggplot图形
将displ放在x轴,hwy放在y轴。
得到以下结果
结果告诉我们,引擎的大小(displ)和燃油效率(hwy)是负相关关系,即引擎越大,越耗油。
代码解释
ggplot()函数创建了一个以displ为x轴,hwy为y轴的坐标系。第一个参数是图中使用的数据集,即data=mpg。但如果只是ggplot(data = mpg)会生成一张空白图。
函数geom_point()向图中添加了一个点层,这样可以创建一张散点图。
mapping函数定义了如何将数据集中的变量映射为图形属性。mapping参数总是与aes()函数成对出现,aes()函数的x参数和y参数分别指定了映射到x轴的变量与映射到y轴的变量。
绘图模板
将上面的代码转换为一个可重用的ggplot2绘图模板。尖括号DATA部分替换为要使用的数据集、几何对象或映射集合即可。
图形属性映射
可以假设所有的汽车都是混合动力车。检验这种假设的一个方法是查看每一辆汽车的class值。mpg数据集中的class变量将汽车分类为小型、中型和SUV。如果存在离群点是混合动力车,那么他们应该属于小型或者微型。(mpg数据集是在混合动力车和SUV流行前收集的。)
可以向二维散点图中添加第三个变量,比如class,方式是将它映射为图形属性(图中对象的可视化属性,其中包括数据点的大小、形状和颜色)。
显示数据点
因为"value"已经用来表示数据的值,所以接下来使用"level"水平一词表示图形属性的值。
改变一个点的大小的水平
改变一个点的形状的水平
不难发现,SUV没有对应的形状,这是因为ggplot2只能同时使用6种形状。默认情况下,使用class图形属性时,多出的变量值不会出现在图中。
改变一个点的颜色的水平