<孤注一掷> 观后感
其中,一句话记忆犹新:人有两个心,一颗贪心,一颗不甘心。
好似世间丰富多彩的动力,又好似人间罪恶的源泉。
日常瞎掰
之前在<R语言的碎碎念>提到过,R使用起来那么方便的原因之一是函数调用。这些函数来自哪里呢?一部分自然是来自R语言本身,另一部分更实用的功能无疑是来自扩展包的函数。那么,今天咱们就接着往下说,概括一下R包的安装方法。
根据R包所属于的库,可以将安装方式分为三种,每一种分别借用不同的函数来完成。另外,所有的R包都可以用一种统一的安装方式来解决。下面一起来看看具体是怎么回事。
安装方法
1、CRAN
R包的官方库,里面有各式各样的包,当然也包括很多可用于生信分析的包。既然是官方库,那安装起来自然是方便的。
install.packages('ggplot2')
上面的安装命令虽然简洁,但有局限性。如果在服务器上安装,做为分析人员大概率是没有管理员权限,这时默认的R包路径应该也不会有写入的权限,这个时候可以创建一个属于个人的安装路径,用来存放需要的包,集中管理方便使用:
install.packages('ggplot2', lib='~/rlib/r-3.3_lib')
通过指定lib
参数可以自定义包的安装路径,如上面所示,会将包安装在家目录下的rlib
子目录里的r-3.3_lib
目录里面。当然,这是个人习惯,可以按照自己喜欢的方式来管理。不过,还是要区分不同的R版本,避免版本之间的兼容性问题。安装后,想要加载包也需指定一下个性化的安装路径,否则无法加载:
library('ggplot2', lib.loc='~/rlib/r-3.3_lib')
上面的方式虽然可以指定个人路径,但每次安装或者使用都要指定一下,这就显得比较麻烦,有没有更便捷的方式呢?答案有两个,一种是利用.libPaths
函数修改包的目录;另一种是修改系统的环境变量R_LIBS_USER
。这里展示一下前一种方式,感兴趣的可以自行尝试第二种:
.libPaths('~/rlib/r-3.3_lib')
install.packages('ggplot2')
library('ggplot2')
Tips:如果需要安装多个包,直接以向量的方式提供即可,这就是前面提到过的向量化操作的特性,无需显式地循环,R本身就能基于向量循环:
install.packages(c('ggplot2', 'pheatmap', 'ggpubr', 'ggnewscale'))
有时候安装会受到网速的限制,这个时候可以尝试将库地址指定为国内的镜像库,只需添加参数repos="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"
即可。国内的镜像库有很多,很容易搜索到,这里展示的是清华的镜像库。
另外,强调一下,这里提到的一些设置和特性也同样适用后面的方法,后续就不再重复了。
根据库名的前三个字母便可以顾名思义,这个库跟生物相关,收藏了用于生物信息相关的R包。安装此库里面的包时,需要根据R的版本采用不同的策略:
- R >= 3.5.0
借助BiocManager
包来安装该库里面的包,安装BiocManager
用install.packages
即可。
library(BiocManager)
install("GenomicFeatures")
- R < 3.5.0
source("https://bioconductor.org/biocLite.R")
biocLite("GenomicFeatures")
3、GitHub
一般处于开发状态的最新版或者没有发布稳定版的包会放置在github网站上面,如果想尝鲜的话可以安装:
library(devtools)
install_github('satijalab/seurat-data')
4、install.packages
上面虽然列举出了三种安装方式,本质上后两种都可以被第一种替代,都可以用install.packages
来安装。这种方式相对更自由,但也更为麻烦。之前在<clusterProfiler: No gene can be mapped | 怎么破?>中提到,R包之间的相互依赖形成了套娃式的结构,牵一发而动全身。
采用这种手动的方式就要自己解决依赖包的问题,这可不是什么好主意,所以不推荐用这种浪费时间的方法。除非,你有自己的想法,比如想修改包里面的函数。那么,如果想用这种方式安装时,应该怎么做呢?
- 首先,在对应的库里面下载R包的压缩包到本地,注意R的版本
- 再者,检查R包依赖的其他包有没有安装,以上图的
ggplot2
为例,可以看看其需要导入很多其他的包,Imports
那一行所示。如果依赖的包不存在,需要先安装好。
- 最后,使用
install.packages
函数安装:
install.packages('ggplot2_3.4.2.tar.gz')
结束语
R包的前三种安装方式正常情况下都不难,就是不同函数的调用而已,尤其是在windows
上面基本不会有问题。最后一种方法,较为麻烦,但有时候却也不失为一种办法,可以用来快速自定义地修改包以到达自己想要的分析需求。根据情况而定选择合适的方式很重要,好的方法可以事半功倍,毕竟时间才是珍贵的存在!
往期回顾
clusterProfiler: No gene can be mapped | 怎么破?
R语言的碎碎念
linux入门学习指南
武林大会之对角线热图
ggplot2 | 绘制双y轴的图型