大佬新作dtplyr:當優秀的語法遇上牛批的速度

今天是生信星球陪你的第487天


大神一句話,菜鳥跑半年。我不是大神,但我可以縮短你走彎路的半年~

就像歌兒唱的那樣,如果你不知道該往哪兒走,就留在這學點生信好不好~

這裡有豆豆和花花的學習歷程,從新手到進階,生信路上有你有我!

花花寫於2019-11-18

抱歉前兩天的關鍵詞”富集輸入“,由於我晚上臨時出去,所以上傳晚了,我補上了哈,這一篇:

對不起,過紀念日去了,沒學習,來點富集分析給大家補營養

今天的內容是,話說有個大佬,他開發了一個牛批的新包。

為啥子開發新包

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

dplyr

先科普一下dplyr,是Rstudio首席科學家hadly大佬的包包套裝tidyverse裡最能打的一個包,將基礎包$,[ ]這類亂碼式的語法變得可讀性更好,複雜的功能簡單化,大大減少初學者的學習成本,是我的真愛


氮素,被吐槽的比較厲害的是處理大數據的速度(小的數據就憋說了,速度不重要)。

data.table

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

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

大佬新作dtplyr:當優秀的語法遇上牛批的速度

大佬新作dtplyr:當優秀的語法遇上牛批的速度

還有兩張截圖就不放了。

對於這兩個包的優秀程度,從我以前寫的這兩篇筆記可見一斑:

寫給零基礎同學的R語言第四篇教程-神奇R包dplyr

超有誠意的R語言數據讀取指南(長文慎入)

pia的一下雙劍合璧了

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

大佬新作dtplyr:當優秀的語法遇上牛批的速度

他明明是個實力派,但是顏值跟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 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:當優秀的語法遇上牛批的速度

差別不在一個數量級啊!!!!

是他,是他,就是他!我的偶像,大佬哈。長得這麼好看,又優秀又努力,還能不能給別人留點活路了~

大佬新作dtplyr:當優秀的語法遇上牛批的速度


分享到:


相關文章: