美文网首页生信修炼科研信息学数据-R语言-图表-决策-Linux-Python
大佬新作dtplyr:当优秀的语法遇上牛批的速度

大佬新作dtplyr:当优秀的语法遇上牛批的速度

作者: 小洁忘了怎么分身 | 来源:发表于2019-11-18 22:55 被阅读0次

    为啥子开发新包

    这要从两个牛批的老包说起。

    dplyr

    先科普一下dplyr,是Rstudio首席科学家hadly大佬的包包套装tidyverse里最能打的一个包,将基础包$,[ ]这类乱码式的语法变得可读性更好,复杂的功能简单化,大大减少初学者的学习成本,是我的真爱
    氮素,被吐槽的比较厉害的是处理大数据的速度(小的数据就憋说了,速度不重要)。

    data.table

    其实data.table里面我只用过fread这个函数读取数据,非常能打,又快又智能,也是我的真爱。但他的语法就不如dplyr优秀了,大佬专用系列~

    有人整理了data.table和dplyr包的对比:




    还有两张截图就不放了。

    对于这两个包的优秀程度,从我以前写的这两篇笔记可见一斑:
    写给零基础同学的R语言第四篇教程-神奇R包dplyr
    超有诚意的R语言数据读取指南(长文慎入)

    pia的一下双剑合璧了

    大佬冲冠一怒写了个新包出来,把他俩双剑合璧了!登上CRAN的时间市11月12号,下图市他的介绍现场。



    他明明是个实力派,但是颜值跟PPT都不允许啊。
    放张大图,如果看到这里你已经看不懂了,就去文末看图舔屏吧。

    dtplyr肿么用?????

    吹爆,首发介绍的博客地址是https://www.tidyverse.org/blog/2019/11/dtplyr-1-0-0/
    最基础的用法灰常简单:

    加载

    library(data.table)
    library(dtplyr)
    library(dplyr, warn.conflicts = FALSE)
    

    懒蛋表格?

    ✨重点是将你的tibble数据结构改一下:

    mtcars2 <- lazy_dt(mtcars)
    class(mtcars2)
    ## [1] "dtplyr_step_first" "dtplyr_step"     
    

    具体改成了啥类型不打紧,重要的是改这么一锤子,就能提速了!

    假装还在用dplyr:

    下面的语法还是dplyr的语法,但其实已经被翻译走啦,速度杠杠的:

    mtcars2 %>% 
      filter(wt < 5) %>% 
      mutate(l100k = 235.21 / mpg) %>% # liters / 100 km
      group_by(cyl) %>% 
      summarise(l100k = mean(l100k))
    

    博客里面,后面的代码是大佬为了表示提速了他很膨胀,就不用演示了,直接上结果:



    差别不在一个数量级啊!!!!

    就是这个人。


    微信公众号生信星球同步更新我的文章,欢迎大家扫码关注!


    我们有为生信初学者准备的学习小组,点击查看◀️
    想要参加我的线上线下课程,也可加好友咨询🔼
    如果需要提问,请先看生信星球答疑公告

    相关文章

      网友评论

        本文标题:大佬新作dtplyr:当优秀的语法遇上牛批的速度

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