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包加载出错时搜索了各种方法但都走不通,最后想把软件卸载的前一秒突然想到了这个问题,导致绕了很多弯路。

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