R中package not avalible問題

我們在加載之前安裝的R包時,有時會出現加載失敗的情況。常規做法是remove.packages(""),然後重新安裝,但是有時候會出現安裝失敗的情況,如下:

1. 針對not writable的問題,可能是安裝包路徑問題。可以用.libPaths()查看以下當前安裝路徑有哪些,針對指定安裝路徑,如本例子中'lib = D:/Program Files/R-3.6.1/library' is not writable的情況,可以使用install.packages("rlang",lib="你想安裝的路徑")。 

但是這種辦法每次都要指定安裝路徑的話太麻煩,這個時候需要用.libPaths("路徑A")命令,將你想安裝的包的路徑設置爲默認路徑。

2.針對not avaliable 的問題,有幾種解決方法。

a. 尋找其他安裝來源:github及bioconductor,

從github上安裝包

install.packages("devtools")
library(devtools)
devtools::install_github('lchiffon/REmap')
#q前爲github的用戶名,後爲包名

但用戶名很難記住,這個時候有個githubinstall包,可以直接安裝。

githubinstall包提供了一種類似於install.packages()的方式,只需包名即可安裝R包。

#install.packages('githubinstall') #已發佈至CRAN
library(githubinstall)
githubinstall('AnomalyDetection')

從bioconductor上安裝包

options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")  #設置鏡像站
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")  #安裝管理工具包BiocManager
BiocManager::install()  #查看是否安裝成功

BiocManager::install("org.Hs.eg.db")  #生物註釋數據庫
BiocManager::install("clusterProfiler") #KEGG分析支持包

b. 如果上述方法都不管用,需要檢查一下你的鏡像配置。Tools--global options--Packages,鏡像改爲離你IP地址最近的鏡像地點。

我是回國了之後沒改,鏡像地址一直是國外的,R包加載出錯時搜索了各種方法但都走不通,最後想把軟件卸載的前一秒突然想到了這個問題,導致繞了很多彎路。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章