本质上,R是一个强大的科学计算器,它有一套相当全面的内置数学功能。可能一些朋友对于计算器概念还停留在菜市场买菜时,菜贩子们啪啪按的那种老式计算器,基本只有加减乘除的功能,但是实际上现在的科学计算器功能已经非常强大了,从计算一些统计分布相关的特殊数到时间序列的回归方程、相关系数的求解,甚至是有的还可以用来编程。
2.1 数学运算符和向量
R支持的数学运算符很多,除了计算中最为常用的四则运算,还有
1:10 %/%3 #整数除法 [1] 0 0 1 1 1 2 2 2 3 3 1:10 %%3 #余数 [1] 1 2 0 1 2 0 1 2 0 1
关系运算符号
与其他语言类似有<,<=,>,>=,==这五种主要的关系运算符,其实最值得注意的是在R中如何要验证数字的大小建议使用all.equal()函数,因为他提供了一个容忍度,因为系统在数据存储中造成的一些误差
向量是R支持的数据结构中最简单的一个,它是用于存储数值型,字符型或者逻辑型数据的一堆数组。向量的运算与数学意义上的向量运算法则基本相同。
2.2 变量赋值
局部赋值
x <- 1:5
R也支持“=”号赋值或者是使用assign()函数对变量进行赋值,但是由于一些历史原因,我在赋值时候还是使用"<-",毕竟我们还是要尊重传统的
全局赋值
x << 1:5
赋值同时打印
主要有两种方式实现,第一就是将输出变量的命令合并成一行,第二个就是将赋值语句写在括号呢
z <- rnorm(1); z [1] -0.6876304 (zz <- rnorm(1)) [1] 1.762007
2.3 特殊数字
为了帮助算术运算,R支持四种特殊值:Inf、-Inf、NaN和NA。Inf是infinite的缩写,表示正无穷;-Inf表示负无穷;NaN为“不是一个数”(not-a-number)
2.4 逻辑向量
在R中有三个向量化逻辑运算符:
!代表非操作
& 代表与操作
| 代表或操作
使用逻辑向量函数any()或者all()可以替代|和&。