本节书摘来自华章计算机《R语言数据分析与挖掘实战》一书中的第2章,第2.2节,作者 张良均,云伟标,王路,刘晓勇,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.2 R使用入门
2.2.1 R操作界面
R软件的界面与其他编程软件相类似,是由一些菜单和快捷按钮组成,如图2-2所示。快捷按钮下面的窗口便是命令输入窗口,它也是部分运算结果的输出窗口,有些运算结果(如图形)则会在新建的窗口中输出。主窗口上方的一些文字是刚运行R时出现的一些说明和指引,文字下的“>”符号便是R的命令提示符,在其后可输入命令。R一般采用交互式工作方式,在命令提示符后输入命令,回车后便会输出计算结果。当然也可将所有的命令建立成一个文件,运行这个文件的全部或部分来执行相应的命令,从而得到相应的结果。
菜单栏如图2-2中标号为1的窗口所示,位于工作环境的最上方。File(文件)菜单可以实现以下功能:输入R代码、建立新的程序脚本、打开程序脚本、显示文件、载入工作空间、保存工作空间、载入历史、保存历史、改变当前目录、打印、保存到文件以及退出;Edit(编辑)菜单可以实现复制、粘贴、清除控制台和数据编辑等功能;View(视图)菜单可以选择是否显示工具栏;Misc(其他)菜单可以实现中断目前计算、缓冲输出及列出目标对象等功能;Packages(程序包)菜单可以实现载入程序包、设定CRAN镜像、安装以及更新程序包等功能;Windows(窗口)菜单可以选择将所有窗口层叠或者平铺;Help(帮助)菜单提供R的常见问答和帮助途径。当执行不同的窗口操作时,菜单的内容就会发生不同的变化。如打开R文件或一个编写好的R函数后,菜单栏就会缺失View(视图)、Misc(其他)两个菜单栏选项。
工具栏如标号为2的窗口所示,从左至右可以依次进行打开程序脚本、载入映像、保存映像、复制、粘贴、复制和粘贴、终止目前计算以及打印的操作。当打开R文件或一个编写好的R函数时,工具栏会发生相应的变化,此时的快捷按钮从左至右依次为打开程序脚本、保存映像、运行当前行代码或所选代码、返回主界面以及打印。
命令窗口如标号为3的窗口所示,是R进行工作的窗口,也是实现R各种功能的窗口。其中的“>”是命令提示符,表示R处于准备编辑的状态,用户可以直接在命令提示符后输入命令语句,按“Enter”键执行。
2.2.2 RStudio窗口介绍
RStudio的启动界面如图2-3所示,由代码编辑、命令控制台、资源栏和其他栏组合而成。
代码编辑栏可以进行代码的编辑,以及打开R脚本或者txt文本。创建新的文件可以从File→New里选择,打开文件可以从目录File→Open或者从Open Recent目录里打开最近的文件。运行文件可以选择相应的代码,点击Run按钮。
命令控制台:代码运行后,控制台会显示相应的代码或者返回结果。也可以在命令控制台单独输入命令,和R的命令模式相同。
其他栏是关于R使用方面的显示栏。可以在Packages目录下进行R包的安装以及加载(包安装好后,并不可以直接使用,如果需要使用包,必须在每次使用前将包加载到内存中,可以直接选择包或者在控制台输入library(package_name)命令)。在Help目录下有关于R相关函数或者命令的帮助。在Plot目录下会显示图形相关方面的描述。
2.2.3 R常用操作
(1)help
功能:提供R函数和R文件的在线式帮助。
在命令窗口输入help(函数名),或?函数名,按“Enter”键执行,或者在R的帮助(Help)菜单下的Search Help弹出框输入函数名,都可打开帮助浏览器。帮助浏览器是R自带的帮助系统,是学习R的一个非常有用的工具。例如,要了解plot函数,可以在命令窗口输入help(plot),或?plot,按“Enter”键执行,或者在Search Help弹出框中输入plot,如图2-4所示,即可获得plot函数的使用帮助。
使用帮助中主要包括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()函数不仅可以显示库中有哪些包,还可以载入所下载的包,进而在会话中使用包。
(5)getwd、setwd
功能:获取或者设置当前工作目录的位置。
(6)save、load
功能:save将R工作空间中的指定对象保存到指定的文件中,load从磁盘文件中读取一个工作空间到当前会话中。
(7)read.table、write.table、read.csv、write.csv
功能:read.table、read.csv读取EXCEL、TXT或者CSV文件到当前工作空间;write.table、write.csv把当前工作空间的数据写入到EXCEL、TXT或者CSV文件中。
(8)odbcConnect、sqlFetch、sqlQuery
功能:odbcConnect建立一个到ODBC数据库的连接;sqlFetch读取ODBC数据库中的某个表到R的一个数据框中;sqlQuery向ODBC数据库提交一个查询并返回结果。
第一步是针对你的系统和数据库类型安装和配置合适的ODBC驱动——它们并不是R的一部分。针对选择的数据库安装并配置好驱动后,请安装RODBC包。R通过RODBC包访问一个数据库的示例程序,如代码清单2-1所示。
(9)source、sink
功能:source(“filename”)可在当前会话中执行一个脚本;sink(“filename”)将输出重定向到文件filename中。默认情况下,如果文件已经存在,则它的内容将被覆盖;使用参数append=TRUE可以将文本追加到文件后;参数split=TRUE可将输出同时发送到屏幕和输出文件中。不加参数调用命令sink()将仅向屏幕返回输出结果。
(10)plot
功能:画图,可以设置参数进行定制的图像绘制。例如,使用代码清单2-2可以实现读取Excel的时间序列数据,然后进行定制作图。