1.2 R使用入门

1.2.1 R操作界面

R软件的界面与其他编程软件相类似,由一些菜单和快捷按钮组成,如图1-2所示。快捷按钮下面的窗口便是命令输入窗口,它也是部分运算结果的输出窗口,有些运算结果(如图形)则会在新建的窗口中输出。主窗口上方的一些文字是刚运行R时出现的一些说明和指引,文字下的“>”符号便是R的命令提示符,在其后可输入命令。R一般采用交互式工作方式,在命令提示符后输入命令,回车后便会输出计算结果。当然也可将所有的命令建立成一个文件,运行这个文件的全部或部分来执行相应的命令,从而得到相应的结果。

图1-2 R 3.2.3操作界面

菜单栏位于工作环境的最上方。文件(File)菜单可以实现以下功能:输入R代码、建立新的程序脚本、打开程序脚本、显示文件、载入工作空间、保存工作空间、载入历史、保存历史、改变当前目录、打印、保存到文件以及退出;编辑(Edit)菜单可以实现复制、粘贴、清除控制台和数据编辑等功能;视图(View)菜单可以选择是否显示工具栏;其他(Misc)菜单可以实现中断目前计算、缓冲输出及列出目标对象等功能;程序包(Packages)菜单可以实现载入程序包、设定CRAN镜像、安装以及更新程序包等功能;窗口(Windows)菜单可以选择将所有窗口层叠或者平铺;帮助(Help)菜单提供R的常见问答和帮助途径。当执行不同的窗口操作时,菜单的内容会发生不同的变化。例如,打开R文件或一个编写好的R函数后,菜单栏就会缺失视图(View)、其他(Misc)两个菜单。

工具栏从左至右可以依次进行打开程序脚本、载入映像、保存映像、复制、粘贴、复制和粘贴、终止目前计算以及打印的操作。当打开R文件或一个编写好的R函数时,工具栏会发生相应的变化,此时的快捷按钮从左至右依次为打开程序脚本、保存映像、运行当前行代码或所选代码、返回主界面以及打印。

命令窗口是R进行工作的窗口,也是实现R各种功能的窗口。其中的“>”是命令提示符,表示R处于准备编辑的状态,用户可以直接在命令提示符后输入命令语句,按“Enter”键执行。

1.2.2 RStudio窗口介绍

RStudio的启动界面如图1-3所示,由代码编辑、命令控制台、资源栏和其他栏组合而成。

图1-3 RStudio启动界面

代码栏可以编写代码,以及打开R脚本或者txt文本。创建新的文件可以从File->New中选择,可以从目录File->Open打开文件或者从Open Recent目录中打开最近的文件。运行文件可以选择相应的代码,单击Run按钮。

命令控制台:代码运行后,控制台会显示相应的代码或者返回结果。也可以在命令控制台单独输入命令,和R的命令模式相同。

其他栏是有关于R使用方面的显示栏。可以在Packages目录下安装以及加载R包(包安装好后,并不可以直接使用,如果需要使用包,必须在每次使用前将包加载到内存中,可以直接选择包或者在控制台输入library(package_name)命令)。Help目录下是R相关函数或者命令的帮助。Plot目录下显示图形相关方面的描述。

1.2.3 R常用操作

(1)help

·功能:提供R函数和R文件的在线式帮助。

在命令窗口输入help(函数名),或?函数名,按“Enter”键执行,或者在R的帮助(Help)菜单下的Search Help弹出框中输入函数名,打开帮助浏览器。帮助浏览器是R自带的帮助系统,是学习R的一个非常有用的工具。例如,要了解plot函数的使用,可以在命令窗口输入help(plot),或?plot,按“Enter”键执行,或者在Search Help弹出框中输入plot,如图1-4所示。

图1-4 R帮助浏览器

使用帮助主要包括6部分内容:函数说明(Description)部分描述函数的主要功能;用法(Usage)部分给出了plot函数的调用方法;参数(Arguments)部分给出输入参数的详细解释,包括输入参数的取值范围、数据格式等;详情(Details)部分给出了和该函数相关的信息;其他(See Also)则提供了与该函数相关的其他函数的链接;例子(Examples)部分给出plot函数的常用例子,用户可以直接运行示例程序得到结果。有些帮助文档还包括输出参数(Value)部分,给出输出参数的详细描述,类似输入参数;参考文献(References)部分给出有关学者对该函数的研究文献。

使用R的帮助系统是一种快速学习和掌握R的有效方法。下面以绘制一个给定的时序y的时序图为例进行说明。R中最基本的绘图命令是plot,在帮助系统中查找plot,查看其基本语法,找到和自己需求相关的语法,这里使用plot(x,y)语法即可。接下来查看其语法详细解释,由于这里的y是一个时序向量,直接调用即可。然后编写脚本代码,运行程序,即可得到所要的时序图。当然在查看完语法的详细解释后,还可以查看其示例程序,直接拷贝其代码片段到命令窗口执行,查看结果。这样就不会对plot函数只停留在简单理解的水平上。最后,针对所作的时序图,如果需要进一步调整,如设置标题、x轴、y轴等信息,还可以在其他(See Also)中查询到相关的函数。

(2)Ctrl+L

·功能:清除命令窗中的所有显示内容。

(3)rm(list=ls())

·功能:清除R工作空间中的内存变量。

一般利用rm(list=ls())命令与gc()命令,清除内存变量并释放内存空间。

(4)install.packages、library

·功能:install.packages()用来下载和安装包;library()函数不仅可以显示库中有哪些包,还可以载入所下载的包,进而在会话中使用包。

还可以使用RStudio的图形界面来安装和加载包,如图1-5所示。选中其他栏中的Packages目录,单击Install按钮弹出安装对话框,选择安装来源及安装路径,如图1-6所示。单击Update按钮可更新已经安装的包。勾选包前面的方框即可加载相应的包。

图1-5 RStudio包安装界面

(5)getwd、setwd

获取或者设置当前工作目录的位置。

(6)save、load

·功能:save将R工作空间中的指定对象保存到指定的文件中,load从磁盘文件中读取一个工作空间到当前会话中。

图1-6 安装对话框

(7)source、sink

·功能:source("filename")可在当前回话中执行一个脚本;sink("filename")将输出重定向到文件filename中。默认情况下,如果文件已经存在,则它的内容将被覆盖;使用参数append=TRUE可以将文本追加到文件后;参数split=TRUE可将输出同时发送到屏幕和输出文件中。不加参数调用的命令sink()仅向屏幕返回输出结果。

(8)<-、=、->

·功能:R使用<-,而不是传统的=作为赋值符号。R语句由函数和赋值构成。

例如以下语句:

x<-c(1:10)

创建了一个名为x的向量对象,它包含一个1~10的序列。

R是一种基于对象(Object)的语言,所以用户在R语言中接触到的每样东西都是一个对象,一串数值向量是一个对象,一个函数是一个对象,一个图形也是一个对象。基于对象的编程(OOP)就是在定义类的基础上,创建与操作对象。

R允许使用=为对象赋值。但是这样写的R程序并不多,因为它不是标准语法,在某些情况下,用等号赋值会出现问题。还可以反转赋值方向。例如,c(1:10)->x与上面的语句等价。