大佬新作dtplyr:當優(yōu)秀的語法遇上牛批的速度

為啥子開發(fā)新包

這要從兩個牛批的老包說起。

dplyr

先科普一下dplyr,是Rstudio首席科學家hadly大佬的包包套裝tidyverse里最能打的一個包,將基礎包$,[ ]這類亂碼式的語法變得可讀性更好,復雜的功能簡單化,大大減少初學者的學習成本,是我的真愛
氮素,被吐槽的比較厲害的是處理大數(shù)據(jù)的速度(小的數(shù)據(jù)就憋說了,速度不重要)。

data.table

其實data.table里面我只用過fread這個函數(shù)讀取數(shù)據(jù),非常能打,又快又智能,也是我的真愛。但他的語法就不如dplyr優(yōu)秀了,大佬專用系列~

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




還有兩張截圖就不放了。

對于這兩個包的優(yōu)秀程度,從我以前寫的這兩篇筆記可見一斑:
寫給零基礎同學的R語言第四篇教程-神奇R包dplyr
超有誠意的R語言數(shù)據(jù)讀取指南(長文慎入)

pia的一下雙劍合璧了

大佬沖冠一怒寫了個新包出來,把他倆雙劍合璧了!登上CRAN的時間市11月12號,下圖市他的介紹現(xiàn)場。



他明明是個實力派,但是顏值跟PPT都不允許啊。
放張大圖,如果看到這里你已經(jīng)看不懂了,就去文末看圖舔屏吧。

dtplyr腫么用?????

吹爆,首發(fā)介紹的博客地址是https://www.tidyverse.org/blog/2019/11/dtplyr-1-0-0/
最基礎的用法灰常簡單:

加載

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

懶蛋表格?

?重點是將你的tibble數(shù)據(jù)結構改一下:

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

具體改成了啥類型不打緊,重要的是改這么一錘子,就能提速了!

假裝還在用dplyr:

下面的語法還是dplyr的語法,但其實已經(jīng)被翻譯走啦,速度杠杠的:

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

博客里面,后面的代碼是大佬為了表示提速了他很膨脹,就不用演示了,直接上結果:



差別不在一個數(shù)量級啊?。。?!

就是這個人。


微信公眾號生信星球同步更新我的文章,歡迎大家掃碼關注!


我們有為生信初學者準備的學習小組,點擊查看??
想要參加我的線上線下課程,也可加好友咨詢??
如果需要提問,請先看生信星球答疑公告

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容