今天用select
函數(shù)出現(xiàn)報錯翅阵,一開始沒注意報錯信息歪玲,因為我選擇的列名有些復雜,怕是哪里掉了個空格掷匠,就重新?lián)Q了個方法選列名,還是出錯讹语。
報錯信息如下
> b <- select(a,X.Pathway, Pathway.ID, Genes)
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘select’ for signature ‘"data.frame"’
簡單說钙皮,就是不知道為a這個數(shù)據(jù)框選擇什么select
函數(shù)了。
直接輸入select
發(fā)現(xiàn)在'AnnotationHub'這個包也有select
函數(shù)顽决。
接近辦法:
- 用
dplyr::select()
2.detatch
AnnotationHub包短条。
3 安裝conflicted
包進行優(yōu)先設置,并且這個包可以給出明確的報錯信息和解決方案
devtools::install_github("r-lib/conflicted")
library(conflicted)
舉例
> filter(a,Pathway.ID==ko00010)
Error: [conflicted] `filter` found in 2 packages.
Either pick the one you want with `::`
* dplyr::filter
* stats::filter
Or declare a preference with `conflict_prefer()`
* conflict_prefer("filter", "dplyr")
* conflict_prefer("filter", "stats")
最便捷的還是把常用的包設置優(yōu)先級
也就是
conflict_prefer("filter", "dplyr")
另外可以用conflict_scout()
搜索當前安裝的有沖突的包
> conflict_scout()
94 conflicts:
* `anyDuplicated` : [BiocGenerics]
* `append` : [BiocGenerics]
* `as.data.frame` : [BiocGenerics]
* `as.list` : [BiocGenerics]
* `basename` : [BiocGenerics]
* `boxplot` : [BiocGenerics]
......