我们周末班准备工作给的安装R包 http://www.bio-info-trainee.com/3727.html 是一个个R包慢慢安装,主要是考虑到初学者不理解循环这样的编程概念,但实际上要批量安装也是可以的。
首先配置中国大陆特色镜像
代码语言:javascript复制options()$repos
options()$BioC_mirror
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options()$repos
options()$BioC_mirror
然后按需安装指定的R包
代码语言:javascript复制# https://bioconductor.org/packages/release/bioc/html/GEOquery.html
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("KEGG.db",ask = F,update = F)
BiocManager::install(c("GSEABase","GSVA","clusterProfiler" ),ask = F,update = F)
BiocManager::install(c("GEOquery","limma","impute" ),ask = F,update = F)
BiocManager::install(c("org.Hs.eg.db","hgu133plus2.db" ),ask = F,update = F)
实际上,大家即使是没有学习过R包安装,也可以看得懂,变化R包名字,就可以一行行运行代码来安装指定的包了!
批量安装R包而且不重复安装呢?
当然也是有办法的, 我在移植一些shiny应用程序就用到过。
代码语言:javascript复制list.of.packages <- c("shiny",
"tidyr",
'tidyverse',
"clusterProfiler",
"DT",
"ashr",
"enrichplot",
"plotly")
#checking missing packages from list
new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])]
new.packages
packToInst <- setdiff(list.of.packages, installed.packages())
packToInst
if(T){
lapply(packToInst, function(x){
BiocManager::install(x,ask = F,update = F)
})
}
lapply(intersect(packagesReq, installed.packages()),function(x){
suppressPackageStartupMessages(library(x,character.only = T))
})
其实你有没有发现,代码反而是多了呢?
嘻嘻