前情回顾:
本文选自《学 R:零基础学习 R 语言》(研究出版社,大鹏、李怡著,2018)第一章。
1.2 第一次畅谈:计算
R最简单的功能,是用作计算器。先在左上面板窗口输入以下代码,然后按窗口上方的运行(Run)按钮,或按快捷键 ctrl+回车(这个快捷键会经常用),就会运行光标所在行的整行代码:
3 * (2 + 2)
## [1] 12
上面第一行是输入的代码示例。第二行用两个#
号开头,表示是运行结果,默认显示在RStudio的左下面板。如不另作说明,本书都用这种格式来区分代码和运行结果。我们暂时不管#
号后面的[1]
是什么,先来试试R的数学基本运算符:加+
, 减-
,乘*
,除/
,乘方 ^
,整除的商 %/%
,整除的余数%%
。
练习 1.1 计算365除以7得到的整除商和余数。
下面,我们开个平方。输入并运行
9 ^ 0.5 # 开平方
## [1] 3
或者
sqrt(9) # 也是开平方
## [1] 3
上面两条语句的作用等同,只是形式不同。这里,sqrt()
是开平方的函数,被开方的数必须放在圆括号里,这是 R 语法的基本规则之一。#
号后面一直到这一行的末尾是注释,注释部分不会被运行,这样是为了方便将来理解这句代码的用途。当然,我们可以用注释随便写点什么,比如说 “# 哇塞我的第1行代码太帅了
”或者“# 今天心情不大好就写到这儿吧
”等等。如果你乐意,那么完全可以在注释里偷偷写一部小说,就像《倚天屠龙记》里有人在《楞伽经》夹缝处写下《九阳真经》一样。
有人读到这里,可能会退缩了:sqrt,开玩笑,我怎么记得住啊!注意 R 入门第一秘诀: 不要被 R 吓住!现在,我们请出我们的第一位人气小助理:tab键。试试只输入 s,然后按 tab 键,就会看到RStudio给出的贴心提示,所有以 s 打头的函数和变量都列在里边了,用鼠标或箭头键选取就行了。在 s 后面接着输入q之后再按tab键试试。这个“tab小助理”我们以后天天时时分分秒秒都会用。
其实,常用的函数就那么几个,用几次就不需要贴心提示了。而且函数名称都很好记,sqrt 就是 square root 的缩写,顺便练了英文。实在记不住,那就用基本运算符来求乘方好了, 9 ^ 0.5
即可。将来学了自定义函数之后,你甚至可以把sqrt改名叫做kaipingfang。我们在后面的学习中,会经常针对同一个问题给出多个解决方案,条条道路通罗马,R很灵活的,随便挑一个你喜欢的方案拿去用就行了。
小贴士 1.1 R 菜鸟入门三大秘诀
第一秘诀:不要害怕!学R非难事,谁都可以R(Anyone can R)。
第二秘诀:能用就行!只要能完成工作,R代码写得漂亮与否并不重要。如果你有两个解决办法,那就选用你熟悉的那个。将来时间有富余的话再试另一个。
第三秘诀:与人分享!如果你的R 代码是一把刀,那么分享就是磨刀,越磨越快。
常用函数都可以顾名思义:四舍五入round()
, 截取整数trunc()
, 开平方sqrt()
,求绝对值abs()
,指数函数exp()
,自然对数函数 log()
,以10为底的对数函数log10()
,三角函数 sin()
,cos()
,tan()
,asin()
,acos()
,atan()
等等。
有些常数在R中已经定义好了,例如圆周率ππ,只要输入pi
并运行
pi
## [1] 3.141593
怎么只有这几位有效数字?我上幼儿园时就背下来了,精确度不够高啊。要提高精确度,需要用选项函数option()
:
options(digits = 22) # 最大支持 22 位
pi
## [1] 3.1415926535897931
option()
函数运行一次后,以后的数字都会是指定的位数,直到重新运行一次,或者退出R。下面我们把位数改为默认值,7位:
options(digits = 7)
pi
## [1] 3.141593
位数就变回来了。