服务热线
178 0020 3020
算数运算符
1. + - * / 加减乘除
加减乘除模式基本一样,我们以+来为列子
a=1 b=2 print(a+b)
得到如下结果
[1] 3
上面是简单的列子,很好理解,再看下面的代码
a <- c(1,2,3) b <- c(4,5,6) print(a+b)
得到如下结果:
[1] 5 7 9
从上面可以看出,由c()函数产生的向量进行运算的时候,是逐个元素按顺序操作。
那么又有一个问题,如果a和b中的元素个数不一样会怎样呢?
a <- c(1,2) b <- c(4,5,6) print(a+b)
会得到如下结果:
[1] 5 7 7 Warning message: In a + b : longer object length is not a multiple of shorter object length
可以看出,a的元素只有2个,在第三个相加的时候将a里面的重复取值相加也就是1+6
2. %% 求余
我们输入如下的代码:
a <- 5 b <- 3 print(a%%b)
得到如下的结果
[1] 2
很容易理解,5除以3之后余2.
同样,向量之间也和加减乘除一样
a <- c(1,2,3) b <- c(4,5,6) print(b%%a)
得到如下的结果:
[1] 0 1 0
3. %/% 求商
求商的结果就是保留整数部分,余数部分舍去
a <- c(1,2,3) b <- c(4,5,6) print(b%/%a)
得到如下结果:
[1] 4 2 2
4. ^ 将第二个作为第一个的指数
a <- c(1,2,3) b <- c(4,5,6) print(b^a)
得到如下结果:
[1] 4 25 216
关系运算符
1. > 大于 < 小于
判断前面的元素是否大于后面的元素
a <- c(1,2,3,8) b <- c(4,5,6,7) print(a>b)
得到如下的结果:
[1] FALSE FALSE FALSE TRUE
2. == 等于
判断左右两个元素是否相等
3. <= 小于等于 >=大于等于
4. != 不等于
逻辑运算符
1. & 且运算符
这就是相当于高中数学中且的运算,只有两个都为TRUE的时候,返回结果才为TRUE
a <- c(1,2,FALSE,FALSE) b <- c(4,5,6,TRUE) print(a&b)
返回如下结果:
[1] TRUE TRUE FALSE FALSE
2. | 或运算符
只要左右两边任何一个为TRUE,返回结果为TRUE
3. !非运算符
a=FALSE print(!a)
得到的是TRUE
4. && 且运算符,但是只是取两个向量的第一个元素,这两个元素都为TRUE的时候才为TRUE
a <- c(1,2,FALSE,FALSE) b <- c(4,5,6,TRUE) print(a&b)
得到如下结果
[1] TRUE
5. || 或运算符,同样是取两个向量的第一个元素,只要有一个为TRUE,返回TRUE
赋值运算符
1. 向左赋值运算符
<- 或者 = 或者 <<-
2. 向由赋值运算符
-> 或者->>
其他运算符
其他运算符一般是R语言比较特殊的运算符。
1. :冒号运算符
为向量产生一连串的数字
a <- 1:7 print(a)
得到如下的结果
[1] 1 2 3 4 5 6 7
2. %in% 属于运算符。判断左边的是否属于右边的向量之中
x <- 2 y <- 12 a <- 1:7 print(x %in% a) print(y %in% y)
得到如下的结果
TRUE FALSE
3. %*% 用于将矩阵与其转置相乘
附件