本节书摘来自异步社区《R语言初学指南》一书中的第1章,第1.1节,作者【美】Brian Dennis(布莱恩·丹尼斯),更多章节内容可以访问云栖社区“异步社区”公众号查看
R语言初学指南R是一种用来进行科学绘图和计算的计算机程序。
R由科学家编写,供他们在工作中使用。
R具有非常强大的功能,且十分易于使用。
R是免费的。
记得之前提到过R是免费的吗?
R有不同的版本,适用于各种操作系统,比如,Windows,Mac,甚至包括Unix/Linux系统。如果读者在家有台能联网的电脑,便可以从这个网站http://www.r-project.org/下载并安装R。
R的安装比电脑游戏还要简单(若需安装帮助,可以参考附录A)。
安装R之后,会在电脑桌面上或程序菜单中看到一个蓝色字母“R”的图标,双击它就可打开R程序,其控制台窗口“R console”就会弹出来了。
在控制台上,会看到命令提示符“>”和其后面闪烁的光标。现在就可以在R中执行命令了!只需按照本书的教程,在提示符后面输入命令即可,或输入老师在投影仪上展示的命令。在这之后,可独自或以团队的形式一起完成本章最后给出的计算任务。你可将其结果展示给全班同学。准备好了吗?那就开始吧。
R语言初学指南使用R的最简单方式就是把它当成一个强大的计算器。在提示符处输入5+7,然后敲击回车键:
> 5+7 [1] 12这个结果的第一部分是12。稍后会看到有些结果会包含许多个部分。所以R在给出结果时会对其中的某些部分编号。
下面来试一下减法运算。每次在提示符处输入字符后,敲击回车键,就会在下一行得到相应的答案:
> 5−7 [1] −2R可以识别负数。例如:
> 5+−2 [1] 3这里用星号“*”可以进行乘法运算:
> 5*7 [1] 35除法运算的符号是斜线“/”,所以5除以7为:
> 5/7 [1] 0.7142857跟计算器一样,R可以进行小数运算。
做幂运算:回忆一下“5的7次方”可以写为57,表示5×5×5×5×5×5×5。R可将其计算出来。这里用脱字符“^”表示乘方运算。因此,5的7次方为:
> 5^7 [1] 78125可把一系列运算放在同一个命令中。乘法运算和除法运算的优先级要高于加法运算和减法运算,在计算同级别运算时遵循从左到右的原则:
> 5+7*3−12/4−6 [1] 17读者可手算一下,看得到的结果是否和上面一样。并且,幂运算会优先进行,它的优先级要高于乘法运算和除法运算:
> 1+4*3^2 [1] 37可使用括号来改变运算顺序:
> (5+7)*3−(12/4−6) [1] 39当括号内部还有括号时,程序会优先计算最内层的括号!在输入程序时,一定要确保每个左括号“(”都有一个对应的右括号“)”:
> (5+7)*3−(12/(4−6)) [1] 42R可将运算结果保存到用户命名的变量中:
> sally=5+7 > ralph=4−2 > sally-ralph [1] 10在命名变量时需注意,R会区分大小写。在R中,sally和Sally是不一样的。
可看一下变量ralph和sally的值:
> sally [1] 12 > ralph [1] 2若关闭R程序,但没有对工作区(workspace)进行保存,则这些变量的数据就会丢失。
如果把新的内容赋值给一个已经存在的变量,R会覆盖掉该变量的原始值。
> ralph=9 > ralph [1] 9有趣的是,等号“=”在R(及很多计算机编程语言)中并不表示相等,而是指:
计算符号右侧的值,并将其保存到左侧的变量中。
也许计算机科学家们在设计这个时,是想气气他们原来的数学老师吧。比方说:数学家们不会喜欢ralph=ralph+1这样的表达式,因为任何一个数字加上1以后都不会等于它本身。但是这条语句在计算机程序中有着完美的含义:
取ralph的原始值加1,将结果作为新值,保存到ralph中。
包含等号的语句被称为“赋值语句”,是指将等号右侧的计算值赋值给等号左侧的变量。例如:
> ralph=ralph+1 > ralph [1] 10其实,在R的早期版本中,是使用语法ralph<-ralph+1来作为赋值语句。符号“<-”由一个小于号和一个横线组成,看起来像一个指向左侧的小箭头。很多关于R的早期网站和书籍还在使用该符号,现在的R版本也可使用此符号。例如:
> sally sally [1] 22这个赋值语句首先计算出右侧结果为22,并将其作为新值赋值给左侧的sally。R的科学家们最终放弃成为纯粹的数学学者,为了与其他计算机语言保持一致,还是将等号作为了赋值符号。
好了,下面来见识一下R的强大吧!
相关资源:R语言实用教程