说实话,自从之前好好学习了一下入门的R以后,一直没有用过R,很多东西都忘了,还是需要靠做笔记方便日后查阅。 本期讲一下R包的几种来源以及安装指定版本R包的几种方法。
可以理解为R包的官网,凡是需要通过CRAN下载的R包,都可以通过install.packages("包名")来安装
里面多是跟生信相关的R包,通过BiocManager::install("包名")来安装,今天的例子edgeR和limma都可以通过这种方法安装。
之前介绍过Github生物信息||什么是Github?
部分作者在写好R包以后还没来得及上传到CRAN上,便可以在其Github上安装,通过devtools::install_github("用户名/包名")安装
# 综上
install.packages("包名") # CRAN
BiocManager::install("包名") # Bioconductor
devtools::install_github("用户名/包名") # Github
如果你不知道你需要的包来源哪里,那就三个都试试呗!
举个栗子,如果我现在需要安装edgeR和limma
> install.packages('edgeR')
Installing package into ‘C:/Users/75256/Documents/R/win-library/4.0’
(as ‘lib’ is unspecified)
Warning in install.packages :
package ‘edgeR’ is not available for this version of R
A version of this package for your version of R might be available elsewhere,
see the ideas at
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages
显示不太行,我们再试试Bioconductor
> BiocManager::install("edgeR")
'getOption("repos")' replaces Bioconductor standard repositories, see '?repositories' for
details
replacement repositories:
CRAN: https://mirrors.tuna.tsinghua.edu.cn/CRAN/
Bioconductor version 3.12 (BiocManager 1.30.12), R 4.0.5 (2021-03-31)
Installing package(s) 'edgeR'
试开URL’https://bioconductor.org/packages/3.12/bioc/bin/windows/contrib/4.0/edgeR_3.32.1.zip'
Content type 'application/zip' length 3371192 bytes (3.2 MB)
downloaded 3.2 MB
package ‘edgeR’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\75256\AppData\Local\Temp\RtmpInt0Qf\downloaded_packages
Installation paths not writeable, unable to update packages
path: C:/Program Files/R/R-4.0.5/library
packages:
boot, class, cluster, KernSmooth, lattice, MASS, Matrix, mgcv, nlme, nnet, spatial,
survival
Old packages: 'BiocManager', 'bitops', 'blob', 'broom', 'cachem', 'cli', 'colorspace',
'cpp11', 'curl', 'dplyr', 'fansi', 'flextable', 'formatR', 'gargle', 'ggplotify',
'ggsignif', 'htmltools', 'htmlwidgets', 'isoband', 'knitr', 'maptools', 'matrixStats',
'mime', 'officer', 'openssl', 'paletteer', 'pillar', 'pkgload', 'plotrix', 'R6',
'RcppArmadillo', 'RCurl', 'remotes', 'rlang', 'rmarkdown', 'roxygen2', 'RSQLite',
'stringi', 'tibble', 'tinytex', 'utf8', 'XML'
Update all/some/none? [a/s/n]:
n
成功安装,同理我们发现limma也可以通过Bioconductor安装。
复现文章或R包的更新与当前的R版本或R代码不兼容时,就需要考虑安装某个特定版本的R包了,这里列一些常见的安装指定版本R包的方法供大家参考。
install.packages('devtools')
library(devtools)
install_version("edgeR", version = "3.14.0",repos = "http://cran.us.r-project.org") # 可以不加repos
但这个方法并不适用所有的R包
在这里也许能找到你需要的R包历史版本
https://cran.r-project.org/src/contrib/Archive/
packageurl <- "https://cran.r-project.org/src/contrib/Archive/limma/limma_1.8.10.tar.gz" # 安装1.8.10版本的limma
install.packages(packageurl, repos=NULL, type="source")
这种方法需要依赖Rtools
wget https://cran.r-project.org/src/contrib/Archive/limma/limma_1.8.10.tar.gz
R CMD INSTALL limma_1.8.10.tar.gz
但其实,在实际操作时我发现能不能装上还得看是什么R包以及你的网络情况。
https://www.jianshu.com/p/163f77ecfcfb