Overview

虽然已经用了很久的R语言,但一直没整理过,正好需要在我们的云服务器上安装R,所以一并记录下来了。下面的过程虽然是在Ubuntu 14.04上安装的,但是对于其他版本的系统,RR packages的安装都大同小异。

1. 安装R

1.1 添加源

Ubuntu 14.04中的R版本比较旧,默认安装可能会出很多问题(我试过了)。所以最好添加一个新的源。

etc/apt/source.list中添加如下信息:

deb http://<my.favorite.cran.mirror>/bin/linux/ubuntu trusty/

这里的<my.favorite.cran.mirror>换成一个适合你的镜像地址,可以从https://cran.r-project.org/mirrors.html找到所有的镜像,比如我选择了厦门大学的镜像:http://mirrors.xmu.edu.cn/CRAN/,那么在etc/apt/source.list中添加:

deb http://mirrors.xmu.edu.cn/CRAN/bin/linux/ubuntu trusty/

1.2 更新源

sudo apt-get update

不出意外会遇到一个错误:

W: GPG 错误:http://mirrors.xmu.edu.cn trusty/ Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY 51716619E084DAB9

运行下面的命令:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 51716619E084DAB9

之后重新更新源:

sudo apt-get update

就可以顺利更新了。

1.3 安装

sudo apt-get install r-base

如果要从源码安装R,使用下面的命令:

sudo apt-get install r-base-dev

2. 安装 R packages

直接在命令行输入R,就可以进入R语言的命令行交互模式,使用几个命令可以快速熟悉一下R。

  1. 如果你想查看一个函数的用法,比如mean函数(R中用来求均值的函数),可以使用

     help(mean)
    

    或者

     ?mean
    
  2. .libPaths(),查看R中包安装的目录,在我的Ubuntu14.04下,有三个输出下面的内容:

     [1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"
     [3] "/usr/lib/R/library"
    

    说明上面三个目录都可以作为R packages安装的目录,其中,如果你在安装包时不指定,默认会安装在第一个目录/usr/local/lib/R/site-library,而/usr/lib/R/libraryR自带包的所在目录。

  3. library(),可以查看R中以及安装的所有包,这个函数会去.libPaths()中列出的所有目录查看,并按照目录将各种包列出来:

     Packages in library ‘/usr/local/lib/R/site-library’:
    
     digest                  Create Compact Hash Digests of R Objects
     entropy                 Estimation of Entropy, Mutual Information and Related Quantities
     FSelector               Selecting attributes
     randomForest            Breiman and Cutler's Random Forests for Classification and Regression
     RWeka                   R/Weka interface
     RWekajars               R/Weka interface jars
     Packages in library ‘/usr/lib/R/site-library’:
     rJava                   Low-level R to Java interface
     Packages in library ‘/usr/lib/R/library’:
     base                    The R Base Package
     boot                    Bootstrap Functions (originally by Angelo Canty for S)
     class                   Functions for Classification
     cluster                 Cluster Analysis Extended Rousseeuw et al.
     codetools               Code Analysis Tools for R
     compiler                The R Compiler Package
     ...
    

    这里省略了一些包,并没有全部列出来,你可能很好奇,rJava这个包为什么会比较特别,安装在了一个其他包都不在的地方。下面在介绍FSelector包安装的时候会讲到。

  4. install.packages("mypackage"),用来安装的函数,默认会安装在.libPaths()列出来的第一个目录下。这个函数也提供了参数lib用来指定你要把包安装的位置。

  5. library("mypackage"),载入一个已经安装的包,如果还没有安装这个包,则会报错,程序中断。

  6. require("mypackage"),载入一个已经安装的包,如果还没有安装这个包,则显示警告信息,然后程序继续向下执行。(与library("mypackage")相比,require强烈不推荐)。

  7. remove.packages("mypackage"),卸载package。

  8. update.packages( ),更新package,可以定期执行。

  1. 安装Bioconductor 包

    Bioconductor提供了一个函数用来安装Bioconductor 包

    • 首先,载入这个安装函数:

       source("http://bioconductor.org/biocLite.R")
      
    • 之后,就可以用这个函数安装 Bioconductor 包了:

       biocLite("mypackage")
      
  2. 下面还有一些方法,不太常用,列出来参考:

    下面的内容主要摘自:【R】Linux安装R语言包(Installing R packages on Linux)

    • getOption("defaultPackages"):查看启动R时自动载入的包。
    • vignette('mypackage'):有的包,特别是bioconductor的包有vignette,用函数查看
    • openVignette('mypackage'):这个函数也可以查看vignette,更好用一些
    • RSiteSearch("helpinfor"):搜索R网站上的“helpinfor”相关信息
    • help.start():查看已经安装包的详细HTML文档
    • search():查看当前载入的包
    • sessionInfo():查看R中载入的包
    • methods():查看某个S3泛型函数中所有的方法或者一个类中所有的方法(S3:S version 3)
    • showMethods(class = "myClass"):查看S4类的方法
    • findMethods("myMethods"):查看method的代码
    • class(myObject):查看某个对象的类
    • getClass(“class/package”):查看某个class或者包的具体内容
    • getSlots("class"):查看某个class的slot
    • slotNames(MyObject):查看某个对象的slot。
    • Myobject@slotNames:访问对象Myobject的slot值,这个@可以连续用。

    查询包内信息:

    • ?function/method:查看某个“函数”或者“方法”的详细内容
    • class?graph::graph:查看“组”的详细内容的一个例子。这个例子的来源是查询graph包时候,查看其中class的信息,输入??graph后出现一个graph::graph-class。
    • ls("package:mypackage"):查看"mypackage"中的所有对象。

参考资料