批量检查和安装R包

最近写了个内部用R包,里面有不少依赖包,一部分是CRAN的,一部分是Bioconductor上面的R包,于是把这些包分类后,按照生信技能树培训班时的代码写到了文档里面。主要涉及先检查R包是否安装,然后就是按照CRAN和Bioconductor各自R包安装方法进行安装。

options("repos"="https://mirrors.ustc.edu.cn/CRAN/")
if(!require("BiocManager")) install.packages("BiocManager",update = F,ask = F)
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")

cran_packages=c("magrittr",
                "dplyr",
                "tibble",
                "ggpubr",
                "stringr",
                "reshape2",
                "psych",
                "limma",
                "circlize",
                "grid",
                "fmsb",
                "survival",
                "survminer",
                "forestplot",
                "pROC")

Bioconductor_packages=c("edgeR",
                      "org.Hs.eg.db",
                      "clusterProfiler",
                      "enrichplot",
                       "ComplexHeatmap")

# install packages in CRAN
for (pkg in cran_packages){
  if (!require(pkg,character.only=T)){
    install.packages(pkg,ask = F,update = F)
    require(pkg,character.only=T) 
  }
}

# install packages in Bioconductor
for (pkg in Bioconductor_packages){
  if (!require(pkg,character.only=T)) {
    BiocManager::install(pkg,ask = F,update = F)
    require(pkg,character.only=T) 
  }
}

# ignore all warnings, check if the packages could be libraried correctly.
for (pkg in c(Biocductor_packages,cran_packages)){
  require(pkg,character.only=T) 
}

# ReactomePA is too large
# if (!require(ReactomePA,character.only=T)) {BiocManager::install("ReactomePA",ask = F,update = F)
# require(ReactomePA,character.only=T) 

Snipaste_2023-02-01_10-06-19.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容