R

用for循环来安装R包

2019-02-08  本文已影响32人  小洁忘了怎么分身

首先搞清楚R包的来源及对应的安装方式:
来自CRAN:install.packages()


来自Biocductor: BiocManager::install()


来自Github:devools::install_github()


(此处推荐jimmy大神的R包一枚,如图)

根据来源的不同将R包分开,包的名字组成字符串向量。

cran_packages <- c('tidyverse',
                  'ggpubr',
                  'ggstatsplot')
Biocductor_packages <- c('org.Hs.eg.db',
                        'hgu133a.db',
                        'CLL',
                        'hgu95av2.db',
                        'survminer',
                        'survival',
                        'hugene10sttranscriptcluster',
                        'limma')

先设置镜像,然后将向量作为循环的输入,逐个执行安装

if(length(getOption("CRAN"))==0) options(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
for (pkg in cran_packages){
  if (! require(pkg,character.only=T) ) {
    install.packages(pkg,ask = F,update = F)
    require(pkg,character.only=T) 
  }
}
# first prepare BioManager on CRAN
if(length(getOption("CRAN"))==0) options(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
if(!require("BiocManager")) install.packages("BiocManager",update = F,ask = F)
if(length(getOption("BioC_mirror"))==0) options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
# use BiocManager to install
for (pkg in Biocductor_packages){
  if (! require(pkg,character.only=T) ) {
    BiocManager::install(pkg,ask = F,update = F)
    require(pkg,character.only=T) 
  }
}

无需理会中间的报错,挨个加载(library)看是否报错(这个不能用循环),不报错就是安装成功。报错说不存在什么包,就到回头去安装什么包。以加载时的报错为准。

上一篇 下一篇

猜你喜欢

热点阅读