欢迎大家关注全网生信学习者系列:
- WX公zhong号:生信学习者
- Xiao hong书:生信学习者
- 知hu:生信学习者
- CDSN:生信学习者2
介绍
在R语言中,安装R包是数据分析过程中不可或缺的一部分。当你需要执行特定的统计测试、可视化或其他任务时,你可能会发现相应的功能已经被封装在一个或多个R包中。然而,对于新手或需要一次性安装多个R包的用户来说,这个过程可能会有些繁琐。为了大规模安装所需要的R包,你可以使用几种不同的方法。以下是两种常见的方法:
常用安装
- install.packages函数是我们常用的安装R包的方式,需要注意的是这些R包必须是在CRAN仓库中,否则安装将会失败。安装方式可以将单个包作为变量传输进入,也可以以向量模式传递多个包。
# Installation of required packages in single model
install.packages("tidyverse")
install.packages("ggplot2")
install.packages("dplyr")
install.packages("tidyr")
# mulitple packages in one command line
install.packages(c("tidyverse", "ggplot2", "dplyr", "tidyr"))
# load packages
library("tidyverse")
library("ggplot2")
library("dplyr")
library("tidyr")
- 这里不得不提的是另一个存放R包的网址bioconductor。该项目是存放了大量用于生物研究的R包,很多做生物信息分析的人都会使用里面提供的R包。它的安装包是通过BiocManager包提供的install函数实现的。
代码语言:javascript复制The mission of the Bioconductor project is to develop, support, and disseminate free open source software that facilitates rigorous and reproducible analysis of data from current and emerging biological assays.
# Installation of required packages in single model
BiocManager::install("DESeq2")
BiocManager::install("gsva")
# mulitple packages in one command line
BiocManager::install(c("DESeq2", "gsva"))
# load packages
library("DESeq2")
library("gsva")
- 还有一类是开发者把未经过CRAN或bioconductor等审核过但存放在如github, gitlab等开源网站的R包,这类R包可以分别通过devtools或remote包的 install_github 或 install_gitlab等函数安装。
devtools::install_github("HuaZou/MyRtools")
remotes::install_github("HuaZou/MyRtools")
devtools::install_version("Rcpp", version = "1.0.4.6",repos = "[http://cran.us.r-project.org](http://cran.us.r-project.org)")
- 除了联网安装R包外,R还提供本地下载压缩包安装模式。
install.packages("local/packagename.tar.gz", repos=NULL, type="source")
高效方式一
随着时间流逝,安装的R包也越来越多,如何快捷分辨出未安装过的R包就显得尤其重要。我们可以通过 installed.packages函数判断,并使用lapply函数分次安装所有的R包。构建函数,使其具有如下功能:
- 判断未安装R包;
- 使用 install.packages或BiocManager::install函数安装来源你不同的R包;
- 用lapply分别加载R包,并不输出加载过程中产生的信息。
packages_CRAN <- c("tidyverse", "ggplot2", "dplyr", "tidyr")
packages_biocond <- c("DESeq2", "gsva")
InstallPackageFun <- function(packages=packages_CRAN , type="CRAN"){
#packages=packages_CRAN
#type="CRAN"
# Install packages not yet installed
installed_packages <- packages %in% rownames(installed.packages())
if (any(installed_packages == FALSE)) {
if(type == "CRAN"){
lapply(packages[!installed_packages], install.packages)
}else{
lapply(packages[!installed_packages], BiocManager::install)
}
}
# Packages Loading
invisible(lapply(packages, library, character.only = TRUE))
}
InstallPackageFun(packages=packages_CRAN , type="CRAN")
InstallPackageFun(packages=packages_biocond , type="bioconductor")
高效方式二
除了上面这种大规模安装未安装过的R包外,还可以通过已经构建好的R包内置函数安装,例如现在比较友好的R pacman,它提供的p_load函数其实可以看成是上述InstallPackageFun的升级版本。还有一个librarian包提供的shelf函数和p_load有类似的功能。
- pacman
install.packages("pacman")
pacman::p_load(ggplot2, tidyr, dplyr)
- librarian
install.packages("librarian")
librarian::shelf(ggplot2, DESeq2)