美文网首页
R包安装的4种姿势

R包安装的4种姿势

作者: 生信云笔记 | 来源:发表于2023-08-12 13:52 被阅读0次

    <孤注一掷> 观后感
    其中,一句话记忆犹新:人有两个心,一颗贪心,一颗不甘心。
    好似世间丰富多彩的动力,又好似人间罪恶的源泉。

    日常瞎掰

      之前在<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/"即可。国内的镜像库有很多,很容易搜索到,这里展示的是清华的镜像库。
      另外,强调一下,这里提到的一些设置和特性也同样适用后面的方法,后续就不再重复了。

    2、Bioconductor

      根据库名的前三个字母便可以顾名思义,这个库跟生物相关,收藏了用于生物信息相关的R包。安装此库里面的包时,需要根据R的版本采用不同的策略:

    • R >= 3.5.0
      借助BiocManager包来安装该库里面的包,安装BiocManagerinstall.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轴的图型

    相关文章

      网友评论

          本文标题:R包安装的4种姿势

          本文链接:https://www.haomeiwen.com/subject/ildxmdtx.html