RStudio简介
RStudio是R语言的集成开发环境(IDE),它是一个独立的开源项目,它将许多功能强大的编程工具集成到一个直观、易于学习的界面中。RStudio可以在所有主要平台(Windows、Mac、Linux)上运行,也可以通过web浏览器(使用服务器安装)运行。如果你是一个R新手或者偏爱界面版的R环境,那么你会喜欢上RStudio,本书的目的之一即是缩短你与RStudio之间的距离。
RStudio作为一个定期发布的稳定版本,其实在这之间每天都有发布。
这本书,正如它所写的那样,描述了其中一个版本:
0.95.75;当前稳定的版本是0.94.102。这里描述的一些特性,比如项目特性,目前在稳定的版本中是不可用的。
在深入RStudio之前,我们将首先快速概述R和ide。
什么是R语言?
R是一个统计计算和图形的开源软件环境。R在Windows、Mac OS X和许多UNIX平台(例如 Linux)。对于大多数平台,R以二进制格式发布,以便于安装。R软件最初是由Robert Gentleman和Ross Ihaka发起的。这种语言深受S语言的影响,而S语言最初是由约翰·钱伯斯和他的同事在贝尔实验室开发的。从那时起,在R的核心开发团队的指导和人才的帮助下,R已经发展成为学术界许多学科和各行业统计计算的通用语言。
R不仅仅是它的核心语言。它有一个世界性的存储系统全面的R档案网络(CRAN) -http://cran.r-project.org -为用户贡献的包(packages),以扩充R语言的功能。截至2011年,CRAN上有3000多个这样的软件包,其他平台上还有更多。总的来说,R目前拥有解决大量问题的功能,并且仍有巨大的发展空间。
R是围绕其核心脚本语言设计的,但也允许与用C、c++、Fortran、Java等语言编写的编译代码集成,用于计算密集型任务或利用为其他语言提供的工具。
什么是IDE?
与其他编程语言一样,R是通过用户编写的函数扩展(或开发)的。一个集成开发环境(IDE),例如RStudio,被设计来促进这样的工作。此外,与使用图形用户界面的许多其他统计软件包不同,典型的用户主要通过命令行与R进行交互。然后,R的IDE还必须包括以交互方式发出命令的方法。在这方面R并不是唯一的,交互式科学编程语言的ide已经成熟,包括以下特性:
- 发出命令的控制台。
- 源代码编辑器;在它的核心,开发涉及到编程的行为,并且这个任务不可避免地需要一个源代码编辑器来完成。这样的编辑已经存在一段时间了,现在对编辑的期望很高。典型的期望包括:
- 一组丰富的快捷键
- 自动源代码格式化,括号辅助,关键字突出显示
- 代码折叠和易于导航通过一个文件和文件之间
- —上下文敏感的帮助
- 编译或运行软件的接口
- 项目管理功能
- 辅助调试
- 与报告撰写工具的集成
- 对象浏览器;在交互式使用中,用户的工作空间包括已定义的变量。对象浏览器允许用户快速识别每个此类变量的类型和值。
- 对象编辑器;在对象浏览器中,通常提供了检查或编辑对象的方法。
- 与基础文档的集成。
- 绘图管理工具
已存在的R语言IDE,如表一:
Table 1-1. Some existing IDEs for R
Name | Platforms | Description |
---|---|---|
ESS | All | ESS (http://ess.r-project.org) is a powerful and commonly used interface for R that integrates the venerable emacs editor with R. There are numerous conveniences, but some find that it is difficult to learn and has an old-school feel, which precludes adoption. |
Eclipse | All | The open-source StatET plugin (http://www.walware.de/goto/statet) turns Eclipse, a Java-based multipurpose IDE, into a full-featured IDE for R. |
SciViews | All | An R API and extension for the Komodo code editor. |
JGR | All | Java-based editor that interfaces with R through the rJava and JRI pack�ages. The Deducer package adds a suite of data analysis tools. |
Tinn-R | Windows | An extension for the Tinn editor that allows integration with an underlying R process. |
Notepad++ | Windows | With the NpptoR extension allows the Notepad++ editor to interact with an R process. |
RGui | Windows | The Windows GUI for R has many of the features of an IDE. |
什么是Rstudio?
RStudio项目以一种新颖的方式为IDE提供了大多数需要的特性,使得使用r变得更容易、更高效。
- IDE的主要组件都很好地集成到一个四面板布局中,其中包括用于交互式R会话的控制台、用于组织项目文件的带选项卡的源代码编辑器,以及用于组织较少中心组件的带笔记本的面板。
- 源代码编辑器功能丰富,并与内置控制台集成。
- 通过选项卡完成和帮助页面查看器组件,控制台和源代码编辑器与R的内部帮助系统紧密相连。
- 设置不同的项目很容易,在它们之间进行切换甚至更容易。
- RStudio提供了许多方便且易于使用的管理工具,用于管理包、工作区、文件等。
- IDE可用于三种主要操作系统,可以通过web浏览器进行远程访问。
- RStudio比Emacs/ESS更容易学习,比Emacs/ESS更容易配置和安装
Eclipse/StatET拥有比JGR更好的编辑器,比JGR更有组织性
Sciviews不同于notepad++和RGui,它可以在更多的平台上使用,而不只是windows。
RStudio程序可以在桌面上运行,也可以通过web浏览器运行。桌面版适用于Windows、Mac OS X和Linux平台,在所有平台上的表现都类似,只是快捷键略有不同。
为了实现这种跨平台性,RStudio在其设计中利用了大量现有的web技术。对于桌面应用程序,它巧妙地将它们显示在Qt(一个跨平台应用程序和UI框架)提供的行业标准HTML小部件中,以创建桌面应用程序。因此,R用户可以有一个丰富和一致的编程环境R他们的方式-桌面-或基于网络。基于web的使用并不在“云”中(尽管该服务可能即将提供),而是可以通过部门或组织内的可信服务器来完成。
RStudio是J. J. Allaire的创意,他和他的兄弟之前在开发用于web开发的ColdFusion IDE和脚本语言方面取得了巨大的成功。阿莱尔目前加入非常能干的约瑟夫·程,约书亚·保尔森,和保罗·迪克里斯提娜。在很短的时间内,他们的初始测试版已经可用,他们已经证明是非常响应用户输入。RStudio正在积极开发中。
因此,这本书中所讨论的内容可能会随着你的阅读而改变。抱歉,但你用这个新功能可能比我所描述的更好.
和R一样,RStudio也是一个开源项目。它规定的目标已经实现了
-是开发一个强大的工具,支持创建值得信赖的高质量分析所需的实践和技术。代码库是在AGPLv3许可下发布的,可以从GitHub上获得(https://github.com/rstudio/rstudio)。RStudio是建立在许多其他开源项目之上的。其中最明显的是GWT,谷歌的Web Toolkit;Qt,诺基亚的图形工具包;以及JavaScript代码编辑器Ace (http://ace.ajax.org)。RStudio的About对话框中列出了其他的杠杆项目。
大部分代码是用c++和Java编写的,它们都是使用GWT的语言。
使用RStudio
我们将从启动RStudio的过程开始,将安装问题推迟一段时间。由于RStudio可以从桌面或通过服务器使用,所以有两种启动它的方法。
桌面版本
对于桌面版本,RStudio与大多数其他应用程序一样启动。在图1-1中,我们看到在Mac OS x下运行的应用程序。对于Windows用户,安装过程会留下一个菜单项。对于Linux用户,命令rstudio将打开窗口。它也可以安装一个菜单项,就像Ubuntu一样,它出现在菜单项中。
[图片上传失败...(image-d47d47-1579013831251)]
在图1-1中,我们看到三个主要组件:控制台,任何R用户都应该熟悉它;工作空间浏览器(没有项目,因为初始工作空间是空的)和历史记录接口。后两个是包含其他组件的笔记本的一部分。源代码组件(或代码编辑器)在屏幕快照中没有打开,因为没有打开文件供编辑或查看。
服务器版
启动服务器版本需要知道服务器的适当URL。
我们为这本书使用了一个本地URL,但是真正的价值来自于在更广泛的internet上使用RStudio作为资源。在访问RStudio时,必须首先进行身份验证。
这样做的基本屏幕如图1-2所示。身份验证取决于服务器,但默认情况下是根据计算机上的用户帐户进行身份验证,因此web管理员应该提供访问RStudio的安全方法。
通过身份验证后,布局看起来与桌面版本比较相似
从图1-1到图1-3可以看到这个。一个主要的区别是菜单栏的位置。在桌面图中,在Mac OS X下,菜单栏按照操作系统的自定义放置,与应用程序分离,位于屏幕顶部
-不集成到RStudio GUI中。对于服务器版本,菜单栏出现在应用程序主工具栏的上方。
[图片上传失败...(image-30e2de-1579013831251)]
[图片上传失败...(image-d4e29e-1579013831251)]
在使用服务器版本时,每个用户只能打开一个实例。如果在不同的机器上启动了一个新会话,或者只是在同一个浏览器的不同选项卡上启动了一个新会话,旧的会话就会断开连接并发出通知。
工作空间
当R启动时,其过程如下:
- 在工作目录中启动R。
- 如果存在,则执行. rprofile文件的命令。
- 如果存在,则加载. rdata文件。
- 遵循?Startup中描述的其他操作。
当退出时,用户被询问“保存工作区图像?”当工作空间被保存时,它将内容写到一个. rdata文件中,这样当R重新启动时,工作空间可以在会话之间保持。(你也可以用save.image启动它。)
此过程允许R用户将希望在每个会话中运行的命令放置在. rprofile文件中,并为每个目录拥有. rdata文件,以便不同的全局工作区可以用于不同的项目。
项目
RStudio提供了一个非常有用的“Projects”特性,允许用户在项目之间快速切换。每个项目在源组件中可能有不同的工作目录、工作区和文件集合。当前项目名称列在主应用程序工具栏最右侧的组合框中,该组合框允许在打开的项目、打开现有项目或创建新项目之间切换。
新项目只需要一个名称和一个工作目录。这个特性非常适合RStudio,因为当它作为web应用程序运行时,由于web连接的性质,需要序列化和恢复会话。在项目之间切换与选择开放项目一样简单。RStudio只序列化旧的文件并还原新选择的文件。
R
RStudio不需要运行特殊版本的R,只要它是一个相当现代的版本。它将与来自CRAN或用户编译版本的二进制版本一起工作。因此,当RStudio启动时,它必须能够定位R的一个版本,这个版本可能驻留在许多不同的地方。通常RStudio只找到正确的,但是可以绕过搜索过程。在线文档http://www.rstudio.org/docs/advanced/versions_of_r详细说明了如何指定使用哪个R安装。简而言之,它取决于底层操作系统。对于Windows桌面用户来说,可能是这样
使用在选项对话框中指定的RStudio | 7(“选项对话框”在第9页)
Mac OS X用户可以设置一个环境变量,如下图所示:
$ export RSTUDIO_WHICH_R=/usr/local/bin/R
基于web的用户真的没有选择,因为这是由谁来配置服务器决定的。
组件布局
RStudio接口由工具栏和菜单栏下面的几个主要组件组成。虽然这个位置可以调整,但默认布局在以下位置使用四个主面板或窗格:
左上角是一个用于编辑文件的源浏览器笔记本(参见“源代码”)
编辑"在63页)或查看一些数据集。在图1-3中,这是不可见的,因为该会话没有打开任何文件。左下角是一个与R进程交互的控制台(第3章)。
右上角是一个记事本小部件,用于存放一个工作空间浏览器(“Workspace”)
浏览器"在第38页)和历史浏览器("命令历史"在第36页)。右下角是一个笔记本,用来记录与文件交互的选项卡(“the”)
文件浏览器"在71页),情节("浏览器"在45页),包
(“包维护”在第73页),以及帮助系统组件(“帮助”)
页面查看器"在第42页)。
控制台窗格有一些特权:它总是可见的,并且有一个标题栏。其他组件使用记事本小部件,页面选项卡用作标题栏。这些页面具有特定于页面的工具栏(可能不止一个),在使用源组件也与上下文相关。
用户可以更改每个窗格的默认空间分配。在界面的左右两边中间出现了一个窗框,可以让用户调整空间的横向分配。此外,每一面都有另一个窗框来分配两个窗格之间的垂直空间。此外,每个窗格的标题栏都有图标,用于为组件添加阴影、垂直最大化组件或共享空间。
常快捷键
可以使用鼠标轻松地在组件之间切换。同样,视图菜单栏也有用于此任务的子项。对于高级用户,键盘加速器列在
表1-2是有用的。(通过帮助>可以获得完整的键盘快捷键列表
快捷键菜单项。)
Description | Windows& Linux | Mac | |
---|---|---|---|
Move cursor to Source Editor | Ctrl+1 | Ctrl+1 | |
Move cursor to Console | Ctrl+2 | Ctrl+2 | |
Show workspace | Ctrl+3 | Ctrl+3 | |
Show data | Ctrl+4 | Ctrl+4 | |
Show history | Ctrl+5 | Ctrl+5 | |
Show files | Ctrl+6 | Ctrl+6 | |
Show plots | C | trl+7 | Ctrl+7 |
Show packages Ctrl+8 | Ctrl+8 | ||
Show help | Ctrl+9 | Ctrl+9 |
对话框项
通过选项对话框调整RStudio首选项。这个对话框有四个面板可以调整:通用属性、编辑属性(图3-4)、外观属性和窗格布局(图1-4)。
![图1 - 4。调整组件布局的窗格首选项对话框fig1-4.png//fig1-4)
窗格布局允许用户确定哪些窗格位于哪个角落,对于补充组件(不是控制台或源编辑器),哪些组件呈现在哪个笔记本中。一个人仅仅通过调整一个组合框或者选中一个复选框来修改一个位置。在图1-4中,选项将代码编辑器置于右侧,控制台位于右下角,文件浏览器位于左上角。在http://rstudio.org/screenshots/上有许多放置面板的例子。
“选项”对话框的外观面板允许设置默认字体大小,并在控制台中或源代码编辑器中修改编辑主题。这本书的屏幕截图使用默认的TextMate主题。
安装RStudio
安装RStudio通常是一个简单的过程。
首先,RStudio需要一个工作的、相对现代的R安装。如果还没有出现这种情况,那么应该咨询http://cran.r-project.org,以了解如何为给定的操作系统安装R。对于Windows和Mac OS X,只需下载一个自安装的二进制文件;对于Linux,安装方式各不相同。对于Debian发行版(包括Ubuntu),可以使用常规的包管理工具安装R系统。当然,由于R是开源的,也可以使用源代码编译和安装它。
可以从http://www.rstudio.org/download/下载RStudio包。在桌面版本和服务器版本之间有一个选择。桌面版本适合单用户使用。文件以二进制安装的通用格式提供(例如,exe、dmg、deb或rpm)。下载文件并将其安装为任何其他程序。
对于那些搜索最新特性的人,请访问http://www.rstudio.org/download/daily上的链接,以获得最新(但不一定是稳定的)构建的二进制文件。
安装服务器版本需要更多的工作和细节。一些说明可以在http://rstudio.org/docs/找到。
还可以从RStudio的源代码安装它。当前稳定版本的源代码“tarball”的链接出现在相应的下载页面上。对于喜欢冒险的人,可以从https://github.com/rstudio/rstudio获得最新的开发构建文件。安装细节在源代码附带的安装文件中。用于编译桌面版和服务器版的源代码是相同的。
由于RStudio依赖于许多移动部件(如GWT)的一些最新特性,因此从源代码编译可能会有问题。支持论坛(http://support.rstudio.org/)是查找任何问题的特定答案的好地方。
RStudio为自己创建秘密文件来存储信息,包括日志信息。当在启动时出现问题时,可以参考日志以确定出错的方向。
对于桌面用户,日志目录是~/。rstudio-desktop /日志
Mac和Linux用户;对于Windows用户,%localappdata%\RStudioDesktop\log (Windows Vista和7)或%USERPROFILE%本地设置\应用程序数据\RStudio-Desktop\log (XP)。
在应用程序的菜单栏中,帮助>诊断项可用于查找日志文件。
升级RStudio
更新RStudio也很简单。
要查看是否有更新可用,Help > Check for Updates菜单项将打开一个包含更新信息的对话框。
如果有更新,可以停止RStudio,安装新版本,然后重新启动。
RStudio将会话信息写入用户的主目录(例如,写入~/. RStudio -desktop文件)。这将在升级之间持续。