美文网首页教育
来自一位儿童的礼物(ggplot2 02)

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

作者: 大口吃空气 | 来源:发表于2017-06-01 16:47 被阅读0次
    分享一张在网上找到的“小太阳”,我觉得还挺萌的

    01

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

    01 02 03 04 05 06

    02

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

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

    看一个例子:

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

    01

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

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

    02

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

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

    03

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

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

    04

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

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

    05

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

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

    06

    03

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

    相关文章

      网友评论

        本文标题:来自一位儿童的礼物(ggplot2 02)

        本文链接:https://www.haomeiwen.com/subject/dmsefxtx.html