来自一位儿童的礼物(ggplot2 02)

来自一位儿童的礼物(ggplot2 02)_第1张图片
分享一张在网上找到的“小太阳”,我觉得还挺萌的

01

今天是儿童节,我们先来玩个游戏,看看能不能找出一下几张图的区别:


来自一位儿童的礼物(ggplot2 02)_第2张图片
01


来自一位儿童的礼物(ggplot2 02)_第3张图片
02



来自一位儿童的礼物(ggplot2 02)_第4张图片
03


来自一位儿童的礼物(ggplot2 02)_第5张图片
04



来自一位儿童的礼物(ggplot2 02)_第6张图片
05


来自一位儿童的礼物(ggplot2 02)_第7张图片
06

02

木有错,上一篇文章,我们已经简单得画了几幅散点图,你或许会有疑问,qplot既然是quick plot的简写,那为什么只能画散点图呢,naive!

其实我们如果想要画曲线也是用这个函数的,只不过默认的参数是绘制散点图。现在我们想要画曲线图该怎么办呢?我们是要做什么?改变几何形状嘛!所以这个参数的名字就叫做geom。那么曲线就是用smooth来表示喽!

看一个例子:

qplot(carat,price,data=dsmall,geom =c("point","smooth"))#这条代码的意思是在图上同时画出散点图和曲线图。得到的图形其实就是图1:


来自一位儿童的礼物(ggplot2 02)_第8张图片
01

有没有注意到,曲线的旁边还有一定宽度的阴影区域,这代表了曲线的标准误,当然如果你不想画它,只需要加上短短的se=F就可以了,如下。

qplot(carat,price,data=dsmall,geom =c("point","smooth"),se=F)


来自一位儿童的礼物(ggplot2 02)_第9张图片
02

美腻如你一定注意到我们好像一直都没有输入一个重要的参数诶,那就是我们是用什么方法来拟合数据的呢!其实当我们没有输入的时候我们使用的是一种loess的默认方法,这是一种局部回归的方法。当然如果想要改变回归方法只需要设置method这个参数。比如想要来个线性的:

qplot(carat,price,data=dsmall,geom =c("point","smooth"),method="lm")#嗯,没错lm就代表线性回归


来自一位儿童的礼物(ggplot2 02)_第10张图片
03

假如你想设置成一个n次多项式来拟合呢!不如试一个10次的。

qplot(carat,price,data=dsmall,geom =c("point","smooth"),method="lm",formula=y~poly(x,10))


来自一位儿童的礼物(ggplot2 02)_第11张图片
04

这个误差好像有点大,我想根据数据决定多项式的次数应该比较好,那不如试试这个:

qplot(carat,price,data=dsmall,geom =c("point","smooth"),method="gam",formula=y~s(x))#这种回归方法叫gam,记住它吧!



来自一位儿童的礼物(ggplot2 02)_第12张图片
05

当你遇到大量的数据的时候,gam也是一个不错的选择哦!不过你要稍微改一下公式:

qplot(carat,price,data=dsmall,geom =c("point","smooth"),method="gam",formula=y~s(x,bs="cs"))


来自一位儿童的礼物(ggplot2 02)_第13张图片
06

03

ok就酱!今天就是一些根据数据绘制合适的曲线图的方法喽!等等!今天儿童节!我要粗去玩啦!!!

你可能感兴趣的:(来自一位儿童的礼物(ggplot2 02))