文章目录
1 qplot()函数
1.1 qplot()的基本用法
qplot()函数的前两个参数分表表示自变量与因变量,其中含有data可选参数,当我们指定了数据时,会在指定的数据集中寻找变量名。当我们默认不指定data的参数时,qplot()会自动建立。
1.1.1 散点图
与plot()函数类似,我们绘制散点图仍然需要个给定自变量与因变量以及原数据。
#散点图
qplot(carat,price,data = diamonds)
从上图来看,数据分布大概呈现指数分布,因此我们进行对数变换处理,观察处理后的数据分布情况。
#对数变换处理
qplot(log(carat),log(price),data = diamonds)
从上图来看,数据呈现线性分布,但是由于数据量太大,数据出现大量的重叠,我们可以将数据进行再次处理。我们可以研究体积与质量之间的关系。
#研究体积与质量之间的关系
qplot(carat,x*y*z,data = diamonds)
从图中来看,体积与质量之间大致为线性关系,数据大部分落在直线上,但存在或多或少的异常值点。
1.2 图形的基本属性
qplot()中,图形的颜色始可以自动确定的,这个比plot()中要简洁一些。现在使用diamonds数据集中的质量与价格的数据,观察两者之间的关系,并绘制散图形。
#将颜色映射道点
p1 <- qplot(carat,price,data = dsmall,colour = color)
#将类型映射到点
p2 <- qplot(carat,price,data = dsmall,shape = cut)
#导入图片汇总需要的函数包
library("gridExtra")
grid.arrange(p1,p2, nrow=2)
在qplot()中,可以用I()来控制图形的属性值,以及透明程度可以用alpha来解决。其中当alpha的值从0到1时图片从完全透明到完全不透明。
1.3 几何对象
qplot()几乎可以画出我们平时生活中常见的图。其中:
geom = "point"可以绘制散点图;
geom = "smooth"可以拟合一条平滑曲线,并将曲线的标准差展示出来;
geom = "boxplot"可以绘制箱线图,用来概括数据点的分布情况;
geom = "path"和geom = "line"可以在数据点之间绘制连线,通常用来探索时间与变量之间的关系。
对于连续变量,geom=“histog”绘制直方图,geom=“freqpoly”绘制频率多边形,geom=“Density”绘制密度曲线,当只有一个参数x时,那么默认的为直方图;当变量为离散型时,我们则用geom = "bar"来绘制条形图。
1.3.1 添加平滑曲线
当我们在散点数据太多时,很难发现数据的一些趋势,在这种情况下,我们可以添加一条平滑的曲线来观察。
#添加平滑曲线
q1 <- qplot(carat,price,data = dsmall,
geom = c("point","smooth"))
#图形堆叠
q2 <- qplot(carat,price,data =diamonds ,
geom = c("point","smooth"))
#设置图例
library("gridExtra")
grid.arrange(q1,q2,nrow = 2)
从图中可以看出,第一个为质量与价格的关系,第二个为整体数据的散点图,在整体数据的散点图中,我峨嵋你你很难看出质量与价格的关系,而第一个图中单独绘制散点图时就可以清楚的看出来,当我们把第一个图加入到第二个图中来时,根据线性趋势就能在整体散点图中看到价格与质量两者之间的关系。
1.3.2 平滑与非平滑的控制
平滑曲线与非平滑曲线的控制有span来控制,从0到1为非平滑到平滑。
#平滑属性的控制
q3 <- qplot(carat,price,data = dsmall,
geom = c("point","smooth"),span = 0.2)
#图形堆叠
q4 <- qplot(carat,price,data =diamonds,
geom = c("point","smooth"),span = 1)
#设置图例
library("gridExtra")
grid.arrange(q3,q4,nrow = 2)
1.4 广义模型Loess
当我们的数据量超过1000时,可以使用method = ”gam“,formula = y ~ s(x)。。以及调用函数包mgcv来拟合广义可加模型。
#调用函数包
library("nlme")
library("mgcv")
m1