1.4 选择一个IDE

在Windows或Mac OS X下使用R,会有一个图形用户界面(GUI)可用,这包括一个命令行解释器、显示绘图和帮助页面的部分,以及一个基本的文本编辑器。利用这些默认工具就完全可以使用R,但是为应对更加复杂的编码活动,至少要使用一个更加强大的文本编辑器。有无数的文本编辑器可供选择,如果你已经有一个最喜欢的,就看看它是否能使R的代码语法高亮。

如果你不是非用某款编辑器不可,那么建议你使用集成开发环境(IDE)以得到最好的体验。和单独使用某个文本编辑器不同的是,这样你能得到使用GUI时的所有便利,外加一个强大的编辑器,甚至还有可能集成了版本控制功能。

下面将介绍五种常用的IDE(当然还有一些建议),还有很多种,这里没有列出,你值得花上一些时间,从中选出最满意的那一种3,毕竟,在接下来的几千个小时中,你都会用到它。

3 不必将R的使用方式限制为一种。我对IDE挺忠诚,可还使用过Eclipse+StatET、RStudio、Live-R、Tinn-R、Notepad++和R GUI。试着找到适合你的。

1.4.1 Emacs+ESS

虽然Emacs说它自己只是一个文本编辑器,但过去36年的发展(还在持续发展中),已经让它具备了超多功能。如果你是一个编程老手,可能对于是否使用它早已有了自己的看法。粉丝对它几乎无限的可定制性及原始的编辑能力无比喜爱。但有人则抱怨它把事情弄得过于复杂,组合键的大量使用会导致肌肉劳损。学习它很有难度,所以做好心理准备,你可能要用一两个月的时间来习惯它。它的另一大好处是,除了R之外,它也适用于编写其他多种语言的程序。最初的Emacs版本(像R一样)是一个GNU项目,你可以从这里下载: http://www.gnu.org/software/emacs/

另外一个流行的分支是XEmacs,可以在这里下载:http://www.xemacs.org/

ESS(Emacs Speaks Statistics)是一个能协助编写R代码的Emacs的插件。其实它也能用于S-Plus、SAS及Stata,所以你可以使用你喜欢的任何软件包(选择R吧)来编写统计代码。ESS的作者中有R的核心团队成员,所以它能与R良好地集成。你可以通过Emacs包管理系统获得它,或者从以下地址下载:http://ess.r-project.org/

适用人群:要用多种语言编程,想要一个最强大的编辑器,而且又不怕学习困难。

1.4.2 Eclipse/Architect

Eclipse是在Java社区中广泛使用的一种跨平台IDE。它和Emacs一样强大,其插件系统使其高度可定制化。它学起来相对容易,但与Emacs可以使用大量键盘操作相比,它需要更多的鼠标操作。

Architect是一个面向R的Eclipse变种,由统计咨询公司Open Analytics开发,包括用于与R整合的StatET插件,以及一个优于R GUI内置的调试程序的调试器。下载地址是:http://www.openanalytics.eu/downloads/architect

另外,你也可以先从http://eclipse.org下载Eclipse IDE的标准版本,再使用其包管理器从http://www.walware.de/goto/statet下载StatET插件。

适用人群:要用多种语言编程又没有时间学习Emacs,而且不介意它的安装文件有几百兆。

1.4.3 RStudio

RStudio IDE只能用于R开发。这意味着你不能(方便地)用它来编写其他语言的程序,但能得到一些R特有的功能。例如绘画窗口比原来的R GUI要好,而且它能提供发布代码的工具。它的编辑器比Emacs或Eclipse简单,但基本够用且更易上手。使用RStudio的好处是可以通过浏览器远程执行:你可以先在功能强大的服务器上运行R,然后从上网本(或智能手机)远程访问而不会损失计算能力。你可以从这里下载它:http://www.rstudio.org

适用人群:主要写R代码,不需要高级编辑功能,希望快速上手或者能远程执行代码。

1.4.4 Revolution-R

Revolution-R有两种版本:自由社区版和企业付费版。两者都与之前提过的IDE不同——Emacs、Eclipse和RStudio是纯图形化的前端,可让你使用任何版本的R,但Revolution-R中的R版本是自己定制的,一般是一个稳定版本,比最新版本早一到两个版本。它还有一些增强的特性,如支持大数据以及一些企业功能。可由此下载:http://www.revolutionanalytics.com/products/revolution-r.php

适用人群:主要用R编写代码,工作与大数据相关或想要一份付费的支持合同,又或者需要一个特别稳定的R平台。

1.4.5 Live-R

Live-R算是一个新秀,截至本书出版时,它还只处于邀请测试的beta阶段。它为R提供了一个基于Web的IDE,这样能避免安装软件的麻烦,而且它能像RStudio一样提供远程执行功能,让你能在一些动力不足的机器上运行R计算。Live-R的协作功能包括共享的编辑器及共享的代码发布,以及一些基于R的运行课件管理工具。它的不足之处是,并非兼容所有的R扩展包,目前只限于大约200个与Web应用相兼容的扩展。你可由此注册:http://live-analytics.com/

适用人群:主要使用R编写代码,不需要安装任何软件,或要讲授基于R的课程。

1.4.6 其他IDE和编辑器

你还可以使用很多其他的编辑器来编写R代码。例如: