普通用户安装R包
现代版本的 R(4.X) 已经模仿 Python、Ruby 等流行软件的做法,不再往系统目录里面安装包了,而是默认会把包安装在自身 R 对应的 Library 下面。例如,假设 R 的路径是:~/miniconda3/lib/R/bin/R
,则包默认就会在 ~/miniconda3/lib/R/library/
下面(在此我们再一次看到了用 conda 而非用系统内置的 R 的重要性)。所以此时已经完全不需要担心权限的问题,直接安装即可:
install.packages("packagename");
指定国内镜像站点
安装 R 包还有一个特别需要注意的问题是设置下载网址。默认情况下它会从国外的网站下载,速度很慢。我们可以改成国内的网站(例如我喜欢用 http://mirrors.ustc.edu.cn/CRAN/ 这个科大的镜像),在 .Rprofile 配置文件里面写入:
local({r <- getOption("repos")
r["CRAN"] <- "http://mirrors.ustc.edu.cn/CRAN"
options(repos=r)})
安装指定版本的包
require(devtools)
install_version("nloptr", version = "1.2.1")
这招简直就是救命的神器,思考一下这样一个场景:
- 你需要安装一个包叫做A。
- R默认会去安装最新版本的A,假设它的发表日期是6个月前。
- A引用了另外一个包B。A作者发表时,B的版本是9个月前的v1。令A没想到的是,上个月B又发表了新版本v2,而且v2和v1语法还不一样。
- 这时R会自动去下载Bv2,于是你无论如何都安装不上去。
- 解决方法就是先把Bv2删除,安装Bv1,再安装A。
如果是bioConductor怎么办?
Very easy,首先把bioconductor安装上:
install.packages("BiocManager")
然后就用以下方法安装:
BiocManager::install("snpStats")
但问题在于bioConductor也会很慢,因此也要在 .Rprofile 配置文件里设置镜像。
options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor")
事实上与其这么麻烦,还不如上Conda。
先把包下载到本地再安装(对于没有润的人)
有些时候下载包会特别慢(例如从github或从bioconductor的注释库),这时候需要先把包(.tar.gz格式或者解压后目录)下载到本地,再用如下方式安装:
install.packages("/your/path/package/", repos=NULL, type="source")
中科大的镜像很受欢迎啊
是啊,国内几个镜像主要是大学