作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量、机器学习、数据可视化、应用统计建模、知识图谱等,著有《R语言高效数据处理指南》(《R语言数据高效处理指南》(黄天元)【摘要 书评 试读】- 京东图书)。知乎专栏:R语言数据挖掘。邮箱:huang.tian-yuan@qq.com.欢迎合作交流。
关于之前写的包tidyfst(https://cran.r-project.org/web/packages/tidyfst/index.html;Tidy Verbs for Fast Data Manipulation),已经做了新一轮的优化,不出意外会在7月份或者8月份放出新的版本。这次投稿Journal of Open Source Software,提了很多好的建议,让走向成熟的tidyfst更上一层楼。这次意见中,就有要做benchmark这一条,于是我参考data.table的来提供了tidyfst的性能测试,参考链接如下:
https://hope-data-science.github.io/tidyfst/articles/benchmark.html结论是,在分组计算上tidyfst的速度基本跟data.table持平,会花一点时间作为tidy语句到data.table语句的翻译,但是这点时间微不足道。
慢慢地,我认为我从的dplyr用户走向了data.table的深度用户。对于大部分一般用户而言,tidyverse已经非常香。但是随着需要处理的数据量增大,对于data.table的需求非常迫切,而tidyfst则是连接两者的桥梁。它能帮助tidyverse的用户慢慢过渡到data.table来,也有助于模块化很多复杂的data.table代码,把一些常用的数据操作封装成了函数。对于部分难写难读的data.table操作,用tidyfst来写再好不过。这不仅仅是性能超越dplyr这么简单,其实在语法结构上也慢慢走向更加简洁。tidyfst将不会纳入dplyr 1.0.0的across函数,而是推荐使用_vars族函数,来做多列更新与汇总。如果使用的用户就会发现,这个代码要比dplyr还要简洁。希望tidyfst能够为大家的工作带来更多的便利。