分享

仅需一招,轻松搞定R包

 微笑如酒 2021-10-22

最近很多人问我的问题都是R包安装的问题。在之前R包只要更新到最新版本,且能够联网,就可以轻松安装。,但现在随着R的功能越来越多,越来越强大。R包也越来越难安装了。并且什么人都可以开发发布R包,很多垃圾包也占用很多戏份。目前R包安装牵扯到配置依赖环境,越来越走向开源软件的通病了,所以,我一般都推荐使用bioconda来安装。但是有涉及到很多版本问题。这次内容,我们介绍一种解决方法。如果能用就用,用不了就别做了。不要问我实验室网速慢怎么解决,难道我还得去帮你办个前兆网络吗。


利用bioconda安装R

R的包一般都是以r-开头的,比如R语言本身为r-base

图片

利用bioconda安装R与R包

1、配置R源

#查看当前配置哪些源
$ conda config --show channels
#添加R源
$ conda config --add channels r

2、安装R

#查看系统当前R版本
$ which R
/usr/bin/R
#利用conda搜索R
$ conda search r-base
Loading channels: done
# Name                       Version           Build  Channel             
r-base                         3.1.2               0  pkgs/r              
 conda-forge         
r-base                         3.6.3      h7ed4ef7_0  conda-forge         
r-base                         3.6.3      h7ed4ef7_1  conda-forge         
r-base                         4.0.0      hdca8982_2  conda-forge         
r-base                         4.0.0      hdca8982_3  conda-forge 
#安装R语言
$ conda install -c conda-forge -y r-base=4.0.0
#再次搜索默认R
$ which R
~/miniconda3/bin/R

3、安装R包

#搜索deseq2包$ conda search deseq2
Loading channels: done
No match found for: deseq2. Search: *deseq2*
# Name                       Version           Build  Channel             
bioconductor-deseq2            1.8.2        r3.2.2_0  bioconda            
bioconductor-deseq2           1.10.0        r3.2.2_0  bioconda            
bioconductor-deseq2           1.10.0        r3.2.2_1  bioconda            
bioconductor-deseq2           1.10.1        r3.2.2_0  bioconda 
#安装deseq2包
$ conda install -y bioconductor-deseq2

R包迁移

R包一般都是一个完整文件,只需要将R包整个文件夹迁移走,一般就可以运行。对R包进行迁移时,尽量保证R版本一致。

该方法只是一种方案,绝大部分包是可以的。但是注意不能将windows系统安装的迁移到Linux下。该方法也不是万无一失,比如R包需要系统一些配置,缺少了还是无法运行。

(base) wangtong 10:24:06 ~
#使用自己安装的R
$ /ifs1/Software/biosoft/R-4.1.1/bin/R

#列出当前R包目录,有两个
> .libPaths()
[1] '/home/wangtong/R/x86_64-pc-linux-gnu-library/4.1'
[2] '/ifs1/Software/biosoft/R-4.1.1/library'    
#通过new选项增加新的目录      
> .libPaths(new='/ifs1/Software/miniconda3/lib/R/library')
#新的目录增加进来了,这样一下子就多了很多包可以使用
> .libPaths()
[1] '/ifs1/Software/miniconda3/lib/R/library'
[2] '/ifs1/Software/biosoft/R-4.1.1/library' 

new选项会去掉之前默认的,可以通过在函数中增加一个向量增加多个目录。

> .libPaths()
[1] '/home/wangtong/R/x86_64-pc-linux-gnu-library/4.1'
[2] '/ifs1/Software/biosoft/R-4.1.1/library'          
> .libPaths(c(.libPaths(),'/ifs1/Software/miniconda3/lib/R/library'))
> .libPaths()
[1] '/home/wangtong/R/x86_64-pc-linux-gnu-library/4.1'
[2] '/ifs1/Software/biosoft/R-4.1.1/library'          
[3] '/ifs1/Software/miniconda3/lib/R/library'         

注意事项

1、bioconda最好升级到最新版本

conda update -n base -c defaults conda

2、R的名字为r-base

3、R包的名字在bioconda中以r-为前缀

4、一些Bioconductor包的名字为bioconductor-前缀

5、如果bioconda安装终端了,再多试几次

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多