小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

R語(yǔ)言的繁榮背后何嘗沒有隱患

 健明 2021-07-14

R語(yǔ)言的繁榮是毋庸置疑的,至少在科研界的地位蒸蒸日上,極大的占領(lǐng)了原來(lái)屬于各種商業(yè)繪圖軟件的市場(chǎng)。不僅僅是在于其免費(fèi)的屬性,更重要的是隨心所欲地自由定制。

但是參與的玩家多了之后,也會(huì)出現(xiàn)一些沖突。最近在運(yùn)行一些三五年前的代碼報(bào)錯(cuò)了,引發(fā)了我的思考。

正常的ID轉(zhuǎn)換并不會(huì)報(bào)錯(cuò)

有時(shí)候我會(huì)使用  clusterProfiler 包的函數(shù) bitr進(jìn)行ID轉(zhuǎn)換,代碼如下:

library(org.Mm.eg.db)
library(clusterProfiler)
> gene <- bitr(rownames(need_DEG), fromType = "SYMBOL",
+              toType =  "ENTREZID",
+              OrgDb = org.Mm.eg.db)
'select()' returned 1:1 mapping between keys and columns
Warning message:
In bitr(rownames(need_DEG), fromType = "SYMBOL", toType = "ENTREZID",  :
  19.2% of input gene IDs are fail to map...

但是五年前我是不用clusterProfiler 包的,之前的代碼是select函數(shù)

現(xiàn)在select函數(shù)就報(bào)錯(cuò)

如下所示:

 

非常的詭異,首先它居然在沒有賦值的情況下就把我的輸入變量給修改了,不可思議!

實(shí)在是太不安全了?。?!

略微思考了一下,猜測(cè)應(yīng)該是這個(gè)select函數(shù)名字太大眾了,所以在很多包里面都有,出現(xiàn)了沖突!

搜索看看select函數(shù)來(lái)自于哪里

可以看到優(yōu)先級(jí)最高多的是dplyr包:

Help on topic 'select' was found in the following packages:

Subset columns using their names and types
(in package dplyr in library )
Ridge Regression
(in package MASS in library )
Objects exported from other packages
(in package tidygraph in library )
Objects exported from other packages
(in package clusterProfiler in library )
AnnotationDb objects and their progeny, methods etc.
(in package AnnotationDbi in library )

dplyr包設(shè)計(jì)的有問題啊,都不復(fù)制就修改了變量。鄙視它

我加上了select函數(shù)真正的來(lái)源

代碼雖然復(fù)雜了一點(diǎn):

library(org.Mm.eg.db)
gene_up=as.character(na.omit(AnnotationDbi::select(org.Mm.eg.db,keys = gene_up,columns = 'ENTREZID',keytype = 'SYMBOL')[,2]))
gene_down=as.character(na.omit(AnnotationDbi::select(org.Mm.eg.db,keys = gene_down,columns = 'ENTREZID',keytype = 'SYMBOL')[,2]))
head(gene_up)

但是這次就不報(bào)錯(cuò)了。

教程的隱患?

現(xiàn)在每次分析數(shù)據(jù),都引入一大波R包,優(yōu)先級(jí)關(guān)系很煩人,如果每個(gè)函數(shù)都需要顯式調(diào)用,我以前的代碼都會(huì)很麻煩!

最好的入門方式

如果你也想開啟自己的生物信息學(xué)數(shù)據(jù)處理生涯,但是自學(xué)起來(lái)困難重重,還等什么呢,趕快行動(dòng)起來(lái)吧!參加我們生信技能樹官方舉辦的學(xué)習(xí)班:

生信技能樹的粉絲都知道我們有一個(gè)全國(guó)巡講的良心學(xué)習(xí)班,口碑爆棚,生物信息學(xué)入門省心省時(shí)省力!先看看大家的反饋吧:

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多