R語(yǔ)言包安裝的幾種方式
-
從CRAN(Comprehensive R Archive Network)中安裝,例如安裝ggplot2包
install.package("ggplot2")
這里默認(rèn)安裝的是CRAN倉(cāng)庫(kù)中最新版本的包,如果要安裝指定版本的,則需要用remotes包中的install_version函數(shù)來(lái)安裝,如果不清楚某個(gè)R包有哪些版本,可直接去CRAN中查詢
remotes::install_version("ggplot2",version="1.0.1")
-
從GitHub中安裝,許多R包托管在GitHub中,可以使用devtools中的install_github()函數(shù)安裝,例如安裝ArchR包
devtools::install_github("GreenleafLab/ArchR",ref="master",repos=BiocManager::repositories()) devtools::install_github("GreenleafLab/ArchR", ref="dev", repos = BiocManager::repositories()) #這里,由于ArchR的GitHub倉(cāng)庫(kù)中包含多條分支,因此用ref="master"或者ref="ref"來(lái)指定branch
-
其他倉(cāng)庫(kù),例如生信分析常用到的Bioconductor,可使用BiocManager::install()來(lái)進(jìn)行安裝,例如安裝DESeq2包
if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install("DESeq2")
-
本地安裝
有時(shí)由于網(wǎng)絡(luò)問(wèn)題或者其他別的問(wèn)題,也可以自行將R包的壓縮文件下載后,從本地安裝
例如從ArchR的github倉(cāng)庫(kù)中下載ArchR-master.zip文件到本地,然后利用install.package進(jìn)行安裝
install.package("~/software/ArchR/ArchR-master.zip",repo=NULL,type="source")
-
利用conda安裝
有時(shí)在R中安裝會(huì)遇到很多環(huán)境依賴問(wèn)題,無(wú)法直接解決,此時(shí)選擇用conda來(lái)安裝R包也是一個(gè)明智之舉,例如用conda安裝ggplot2
conda install conda-forge::r-ggplot2
-
自行修改R包源碼,并重新打包安裝
有時(shí)在使用已發(fā)表的R包的過(guò)程中,遇到報(bào)錯(cuò)后,自行修改源代碼即可,此時(shí),需要將原始R包下載到本地,解壓縮后更改其中的內(nèi)容,例如向包中添加函數(shù)或者修改某個(gè)函數(shù),然后再重新打包。這里以向Socrates包中添加新函數(shù)為例。
首先從Socrates的github倉(cāng)庫(kù)中下載Socrates-main.zip,解壓縮后獲得以下內(nèi)容:
image-20240308204520340.png
其中最重要的內(nèi)容就是R目錄和DESCRIPTION
R目錄中包含該包中所有的函數(shù)
而DESCRIPTION則是對(duì)該包的一些元數(shù)據(jù)的描述
這里,我們修改Socrates包中的函數(shù),然后將其再次打包
library(devtools)
create("./Socrates.test")#創(chuàng)建新R包的路徑
setwd("./Socrates.test")
#將原本Socrate-man中的DESCRIPTION和R目錄都復(fù)制到Socrates.test下,將DESCRIPTION中的包名改成Socrates.test
load_all()#將所有函數(shù)加載進(jìn)來(lái)進(jìn)行測(cè)試
document()#生成man文件夾
build()#打包
install.packages("./Socrates.test/",repo=NULL,type="source")#從本地安裝