购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.5.1 R语言入门

在了解R这门强大语言的入门知识之前,先来看看R语言的基本操作,具体如下。

● 在R语言控制台上执行一些基本操作。

● 创建并保存R语言脚本。

● 在R语言控制台执行R语言脚本。

1.通过R语言控制台交互式地执行脚本

打开你最喜欢的IDE(本书使用RStudio),通过闪烁的光标,能够找到交互式控制台。在找到控制台之后,输入如下字符并按“Enter”键,即可向控制台提交命令:

2+2

提交的命令的执行结果会在下一行自动输出:

4

上述命令及输出只是一个简单的例子,后续将讨论更加复杂的数学运算。

读者虽然在控制台上可以很方便地、交互式地测试小代码块,但需要注意的是,一旦终止了R语言会话(如关闭IDE),控制台上执行的所有操作都会丢失。虽然一些IDE(如RStudio)会记录控制台历史操作,但它只是追溯历史操作的一个线索,而不是一种有效地存储代码的方式(见图1-7)。

图1-7

后面将介绍存储控制台命令历史记录的正确方法。同时,为了完整性考虑,在这里说明一下:R语言可以执行所有基本的数学运算,可以使用的运算符包括+、−、*、/、^(幂运算)。

2.创建并保存R语言脚本

R语言脚本是存储或多或少的R语言代码的一种文件,其优点是可以存储和显示可重复执行,或在脚本外部调用执行的一组结构化的指令(更多详情见后文)。在IDE中,可以找到用于新建脚本的控件或者按钮;单击该控件或按钮,可生成一个以.R为扩展名的文件;打开该文件,就可以开始编写R语言代码了。如果没有找到类似的控件或按钮,那么读者可能需要考虑更换一款IDE,或者尝试在R语言控制台上运行以下命令:

file.create("my_first_script.R")

现在就开始在文件中编写一些代码,按照惯例,使用“大名鼎鼎”的句子“hello world”(你好,世界)来测试脚本吧。如何才能输出这两个神奇的单词呢?读者只需告诉R语言执行输出即可,如图1-8所示,具体如下:

print("hello world")

图1-8

再重复一遍,当前这行代码只是“热身”,后续会介绍更多复杂的场景,所以读者不必担心本书内容过于浅显。

在往下阅读之前,请读者在文件中再添加一行内容,这次要添加的不是代码,而是注释:

# my dear interpreter, please do not execute this line, it is just a comment

实际上,注释与软件开发是紧密联系的。读者可能很轻易地猜到,这样的注释语句是不会被解释器执行的,因为解释器会忽略所有“#”之后的内容。虽然注释会被解释器忽略,但它对程序员来说却非常宝贵,尤其对于写完脚本之后一个月,再回头来看脚本的程序员而言。注释一般用于标注代码的基本原理、条件和目标,以便于程序员理解代码的作用范围是什么、为什么执行某些操作,以及必须满足哪些条件才能让代码正常运行。

请注意,注释可以和代码写在同一行,如下面的例子所示:

print("hello world") # dear interpreter, please do not execute this comment

在IDE上找到“保存”按钮,单击该按钮就可以保存脚本文件了。保存脚本文件时需要输入文件名,可以将名字设置为“my_first_script.R”,因为在接下来的内容里会用到它。

3.执行R语言脚本

随着编码能力的逐步提升,读者就更有可能逐步地将数据分析的不同部分存储到不同的脚本中,并从终端或者一个主脚本中按顺序调用它们。因此,从一开始就正确地掌握脚本文件的存储操作是至关重要的。而且完整地执行脚本是检查代码错误(即bug)的好方法。将数据分析过程存储在脚本中,能够方便其他感兴趣的用户复用代码,从而验证读者的分析结果的正确性——这是非常理想的一大特性。

现在,请读者尝试执行之前所创建的脚本。在R语言环境下,通过调用source()函数来执行一个R语言脚本。正如在本书后面部分会更深入介绍的那样,函数是一组指令的集合,它通常接收一个或多个输入,并产生一个输出。函数的输入被称为参数,函数的输出被称为值。在当前的例子中,将指定一个唯一的参数,即脚本文件参数。当前的例子使用之前保存的文件名作为参数,执行如下命令:

source("my_first_script.R")

执行这个命令的过程是怎样的呢?可以想象解释器一边读取每行代码,一边说:“来看看这个‘my_first_script’文件中的内容。好的,这里面有一条R命令——print("hello world"),执行它看看会发生什么。”虽然上述引用的这些言语是虚构的,但解释器确实就是这样运行的。解释器会查找指定的文件,读取文件内容,并执行存储在其中的R语言命令。当前的例子会在控制台上产生如下输出:

hello world

现在是时候开始真正学习R语言入门知识了,让我们先从向量开始吧! JginFlJ61wTpWLUD+t24Tpz9VTa5Inq5q5GctjHoiuZPG3HAmls0FEKa8TJZZYdu

点击中间区域
呼出菜单
上一章
目录
下一章
×