| 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.5to3.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")# 指定当前最新版本号