title | date | draft | categories | tags | keywords | |||||
---|---|---|---|---|---|---|---|---|---|---|
Manage R packages |
2019-09-10 16:59:04 +0800 |
false |
|
|
|
本文涉及到 R 和 R packages 的安装、更新等。
工作常用 Linux
环境,偶尔会遇到 R
版本更新,R packages
更新,等问题;
把我的日常使用中遇到的问题整理如下:
- 安装
R
(Linux
/Windows
) - 安装
R packages
:CRAN
,Bioconductor
,Github
- 管理
library()
- 升级
R
以 Ubuntu 18.04 server
系统为例,需要在系统中增加专门的 R repository
,以下操作需要用到 sudo
权限;
# Add GPG key
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
# Add the R repository
sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/'
# Update your Package list
sudo apt update
# Install R
sudo apt install r-base
# Test
R
例如:
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
https://www.gnu.org/licenses/.
If you’re not using 18.04, find the relevant repository from the R Project Ubuntu list, named for each release.
没有root权限怎么办?
参考 conda的解决方案,管理各种软件的版本;
常用的R软件包有几个来源:
- a. 来自CRAN的软件包
install.packages("Name-of-package")
Bioconductor是一个基于R语言的生物信息学平台,发布生物数据的注释、分析、可视化等软件包。安装相关软件的办法如下:
b. Bioconductor的稳定版软件发布周期是6个月。
# 首先需要安装 bioconductor 团队开发并发布在 CRAN 上的软件包: BiocManager
install.packages("BiocManager")
# 在 bioconductor 网站找到自己需要的软件包,例如:GenomicRanges
BiocManager::install("GenomicRanges")
- c. 来自 Github
还有一些 R packages
的开发者没有将代码上传到 CRAN
或 Bioconductor
,而是直接发布在 Github
上;我们还是有办法安装这些软件包,不过需要先安装一个CRAN
上的软件包: devtools
;
if (!require("devtools"))
install.packages("devtools")
devtools::install_github()
危险
这么多安装办法,记不住怎么办?当然有办法解决(偷懒),ygc大神介绍,可以通过install.packages()
一招搞定 CRAN
和Bioconductor
两个来源的软件吧;
这是有前提的:使用最新版的 R
你要做的很简单,在
~/.Rprofile
里加入以下两行:options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor") utils::setRepositories(ind=1:2)
第一行,使用国内的镜像,我这里用的是清华大学的,第二行,设定
install.packages
从CRAN和Bioconductor中搜索包,其实你还可以让它支持比如R-Forge以及各种第三方的仓库。然后你就可以愉快地使用
install.packages
来安装Bioconductor包了。请确保你一直在使用最新版本的R。
R
默认安装路径是:/usr/bin/R
;相应的library
路径是:/usr/lib/R/library/
(也许还有其他的路径);
日常使用中,默认的 library
是不可写(需要 root
权限);解决办法是设置个人目录下的 library path
:
在 ~/.Rprofile
文件中添加一行:
.libPaths("~/Library/R/3.5/library")
经常遇到需要升级R
,接着就面临 R packages
更新的问题(通常这个过程会比较头疼);
解决办法如下:
- a. 使用
步骤1
中提到的办法,安装最新版R
(例如:3.5
to3.6
) - b. 默认使用了
步骤3
的办法管理library: ~/Library/R/3.5/library
- c. 修改目录名:
~/Library/R/3.5
->~/Library/R/3.6
- d. 修改
~/.Rprofile
文件中.libPath()
中的目录名 - e. 更新
packages
:rvcheck::update_all()
,可以更新CRAN
,Bioconductor
和Github
包。 - f. 更新
Bioconductor
某些情况下,R
的版本更新和 Bioconductor
的更新凑到一起了,顺便也把 Bioconductor
也更新了。我这次遇到的情况是,R
从3.5
升级到3.6
,这期间,Bioconductor
也从3.8
升级到3.9
;
# 前提是已经安装过 bioconductor 3.8
# 使用如下命令,安装最新版 bioconductor
BiocManager::install(version = "3.9")
更新 R
和R Packages
:
- 升级
R
(参考步骤1
) - 修改
~/.Rprofile
中的library path
- 升级软件包:
rvcheck::update_all()
- 升级
Bioconductor
:BiocManager::update(version = "3.9")
# 指定当前最新版本号