2.1 R语言
2.1.2 R运算符
1. 算数运算符
算数运算符 |
含义 |
^ |
乘幂 |
* |
乘 |
/ |
除 |
+ |
加 |
- |
减 |
%% |
模运算 |
%/% |
整数除法 |
2. 比较运算符
比较运算符 |
含义 |
== |
等于 |
!= |
不等于 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
3. 逻辑运算符
比较运算符 |
含义 |
&& |
标量的逻辑“与 ”运算 |
|| |
标量的逻辑“或 ”运算 |
& |
向量的逻辑“与 ”运算 |
| |
向量的逻辑“或 ”运算 |
! |
逻辑“非 ”运算 |
R
语言表面上没有标量的类型,但是逻辑运算符对标量和向量有着不同的形式。如:
> x <- c(TRUE, FALSE, TRUE)
> y <- c(TRUE, TRUE, FALSE)
> x & y
[1] TRUE FALSE FALSE
> x[1] && y[1]
[1] TRUE
> x && y
[1] TRUE
> if (x[1] && y[1])
+ print("both TRUE")
[1] "both TRUE"
> if (x & y)
+ print("both TRUE")
[1] "both TRUE"
Warning message:
In if (x & y) print("both TRUE") : 条件的长度大于一,因此只能用其第一元素
-
if
结构条件判断句的取值,只能是一个逻辑值,而不能是逻辑值向量。
- 逻辑值
TRUE
和FALSE
可以缩写为T
和F
(必须大写)。
- 算数表达式中,逻辑值
TRUE
和FALSE
会被转换为1
和0
进行运算。
> 1<2
[1] TRUE
> (1<2)*(3<4)
[1] 1
> (1<2)*(3<4)*(5<4)
[1] 0
> (1<2) == TRUE
[1] TRUE
> (1<2) == 1
[1] TRUE
> (3>4) == FALSE
[1] TRUE
> (3>4) == 0
[1] TRUE
4. 运算次序
- 括号里的表达式先计算。
- 较高优先级的运算先被执行。
- 对于相同优先级的运算符,先做左边的运算。
运算符级别 |
运算符 |
含义 |
第1级(最高级) |
^ |
乘幂 |
|
+ |
仅作为前缀时(取正 ) |
|
- |
仅作为前缀时(取负 ) |
|
! |
逻辑“非 ”运算 |
第2级 |
* |
乘 |
|
/ |
除 |
第3级 |
+ |
加 |
|
- |
减 |
第4级 |
> , >= , < , <= , == , !=
|
-- |
第5级 |
& , && , | , ||
|
-- |
网友评论