生物信息学生R入门教程–R语法基础

R软件包

R的运行环境,由R内核以及包组成。包是连接用户指令和计算的桥梁。没有包,R无法实现用户的想法。那么,什么是包呢?

所谓包(Package),就是基于R系统的标准化的代码,数据及文档的文件集合。我们可以将包视为模块化的应用插件,当用户需要用到某一功能时,只需要调用有这一功能的包及其依赖环境(依赖包通常会被自动调用)。当需要使用到另外一项功能时,调用另外的包即可。所以,包可被视为集成某些功能的R插件。

R在启动时会自动加载一些软件包,它们是:parallel、stats、graphics、grDevices、utils、datasets、methods、base。这些包被称为基础包(Base packages),它们是R系统的一部分,由R Core开发并维护。它们用于实现R的最基本功能。

在R安装时,有一些不是R Core开发的包也会默认安装,它们被称为推荐包(Recommended packages),但它们不会被自动加载。

所有其它的包统称为扩展包(Contributed packages),它们是开放式开发的结果,所以被称为集体贡献(contributed)。

提供可用于安装的带有版本控制的包的网站被称为安装源(Repository)。这些安装源会为每个包提供两种形式的文件用于下载安装:源码(Source),以及二进制文件(Binary)。源码是人类可读的源代码及其文档组合而成的包的一种封装形式;二进制文件是将包依据指定的操作平台(现在只提供两种平台windows和Mac OS X)经过编译形成的机器可读的二进制文件封装形式。R扩展包的安装,可以通过这两种方式来完成。

安装好的包将被放在一个指定的目录下。这个目录被称为库(Library)。当需要使用到某一个包的时候,通过运行library()函数来加载软件包,其过程就是到库中去寻找需要加载的软件包,并将其命名空间加载至当前运行环境下。具体操作如下:

> ## 加载名为lattice的软件包
> library(lattice)
> ## 查看当前运行环境
> sessionInfo()
## R version 3.1.0 (2014-04-10)
## Platform: x86_64-apple-darwin12.5.0 (64-bit)
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] lattice_0.20-29 knitr_1.5      
## 
## loaded via a namespace (and not attached):
## [1] evaluate_0.5.3 formatR_0.10   grid_3.1.0     stringr_0.6.2 
## [5] tools_3.1.0

Bioconductor本质上就是基于R的用于生物学研究的软件包的大集合。它们由Bioconductor Core来管理。我们将尝试着安装Bioconductor核心软件包,并试着安装一个由笔者参与写作的Bioconductor软件包ChIPpeakAnno。

> ## 有此代码并没有制件成软件包的形式,使用source函数直接调用。
> source("http://www.bioconductor.org/biocLite.R")
## Bioconductor version 2.14 (BiocInstaller 1.14.2), ?biocLite for
##   help
> biocLite()  ##安装Bioconductor
> biocLite("ChIPpeakAnno")  ##安装ChIPpeakAnno软件包
> library(ChIPpeakAnno)  ##加载ChIPpeakAnno软件包

也许在中国大陆的用户使用上述的默认设置安装Bioconductor会有些困难,这主要受网络带宽和众所周知的网络环境的影响。在大陆的用户可以尝试不同的镜像安装源,比如中国科技大学的镜像,或者日本 的镜像。

> ## 查看当前的安装源
> biocinstallRepos()
##                                                BioCsoft 
##            "http://bioconductor.org/packages/2.14/bioc" 
##                                                 BioCann 
## "http://bioconductor.org/packages/2.14/data/annotation" 
##                                                 BioCexp 
## "http://bioconductor.org/packages/2.14/data/experiment" 
##                                               BioCextra 
##           "http://bioconductor.org/packages/2.14/extra" 
##                                                    CRAN 
##                                 "http://cran.fhcrc.org"
> ## 使用chooseBioCmirror函数选择合适的镜像
> chooseBioCmirror()

2 thoughts on “生物信息学生R入门教程–R语法基础

  1. 您好,问个最简单的问题,我输入 biocLite(“ChIPpeakAnno”)后,为什么会下载其他很多包,而不是括号里的那个包呢?而且,我在括号里不输入任何名称会直接开始下载,没有选路径,不知道会下载到哪里?

    1. 那些包是ChIPpeakAnno的依存包。ChIPpeakAnno是在他们的基础上开发出来的。你可以使用.libPaths()来查看安装的目录。

发表评论

电子邮件地址不会被公开。 必填项已用*标注