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

来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
分享一张在网上找到的“小太阳”,我觉得还挺萌的 01 今天是儿童节,我们先来玩个游戏,看看能不能找出一下几张图的区别:


来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
01

来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
02



来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
03

来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
04



来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
05

来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
06 02 木有错,上一篇文章,我们已经简单得画了几幅散点图,你或许会有疑问,qplot既然是quick plot的简写,那为什么只能画散点图呢,naive!
【来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)】其实我们如果想要画曲线也是用这个函数的,只不过默认的参数是绘制散点图。现在我们想要画曲线图该怎么办呢?我们是要做什么?改变几何形状嘛!所以这个参数的名字就叫做geom。那么曲线就是用smooth来表示喽!
看一个例子:
qplot(carat,price,data=https://www.it610.com/article/dsmall,geom =c("point","smooth"))#这条代码的意思是在图上同时画出散点图和曲线图。得到的图形其实就是图1:


来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
01 有没有注意到,曲线的旁边还有一定宽度的阴影区域,这代表了曲线的标准误,当然如果你不想画它,只需要加上短短的se=F就可以了,如下。
qplot(carat,price,data=https://www.it610.com/article/dsmall,geom =c("point","smooth"),se=F)



来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
02 美腻如你一定注意到我们好像一直都没有输入一个重要的参数诶,那就是我们是用什么方法来拟合数据的呢!其实当我们没有输入的时候我们使用的是一种loess的默认方法,这是一种局部回归的方法。当然如果想要改变回归方法只需要设置method这个参数。比如想要来个线性的:
qplot(carat,price,data=https://www.it610.com/article/dsmall,geom =c("point","smooth"),method="lm")#嗯,没错lm就代表线性回归


来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
03 假如你想设置成一个n次多项式来拟合呢!不如试一个10次的。
qplot(carat,price,data=https://www.it610.com/article/dsmall,geom =c("point","smooth"),method="lm",formula=y~poly(x,10))



来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
04 这个误差好像有点大,我想根据数据决定多项式的次数应该比较好,那不如试试这个:
qplot(carat,price,data=https://www.it610.com/article/dsmall,geom =c("point","smooth"),method="gam",formula=y~s(x))#这种回归方法叫gam,记住它吧!




来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
05 当你遇到大量的数据的时候,gam也是一个不错的选择哦!不过你要稍微改一下公式:
qplot(carat,price,data=https://www.it610.com/article/dsmall,geom =c("point","smooth"),method="gam",formula=y~s(x,bs="cs"))



来自一位儿童的礼物(ggplot2|来自一位儿童的礼物(ggplot2 02)
文章图片
06 03 ok就酱!今天就是一些根据数据绘制合适的曲线图的方法喽!等等!今天儿童节!我要粗去玩啦!!!

    推荐阅读