运算符是一个符号,它告诉编译器执行特定的数学或逻辑操作. R语言内置运算符丰富,并提供以下类型的运算符.
运算符类型
我们在R中有以下类型的运算符编程 : 去;
算术运算符
关系运算符
逻辑运算符
赋值运算符
其他运算符
算术运算运算符
下表显示了R语言支持的算术运算符.运算符作用于向量的每个元素.
$中减去第二个向量b $ b
运算符 | 描述 | 示例 |
---|---|---|
+ | 添加两个向量 | v <- c( 2,5.5,6)t <- c(8, 3, 4)print(v+t) 它产生以下结果 : [1] 10.0 8.5 10.0 |
: | 从第一个 | v <- c( 2,5.5,6)t <- c(8, 3, 4)print(v-t) 它产生以下结果 : [1] -6.0 2.5 2.0 |
* | 将两个向量相乘 | v <- c( 2,5.5,6)t <- c(8, 3, 4)print(v*t) 它产生以下结果 : [1] 16.0 16.5 24.0 |
/ | 将第一个向量除以第二个 | v <- c( 2,5.5,6)t <- c(8, 3, 4)print(v/t) 当我们执行上面的代码时,它产生以下结果 : [1] 0.250000 1.833333 1.500000 |
%% | 给第一个向量的剩余部分带第二个 | v <- c( 2,5.5,6)t <- c(8, 3, 4)print(v%%t) 它产生以下结果 : [1] 2.0 2.5 2.0 |
%/% | f的除法结果irst向量与第二(商) | v <- c( 2,5.5,6)t <- c(8, 3, 4)print(v%/%t) 它产生以下结果 : [1] 0 1 1 |
^ | 第一个向量提升到第二个向量的指数 | v <- c( 2,5.5,6)t <- c(8, 3, 4)print(v^t) 它产生以下结果 : [1] 256.000 166.375 1296.000 |
关系运算符
下表显示了R语言支持的关系运算符.将第一矢量的每个元素与第二矢量的相应元素进行比较.比较的结果是布尔值.
运算符 | 描述 | 示例 |
---|---|---|
> | 检查第一个向量的每个元素是否大于第二个向量的对应元素. | v <- c(2,5.5,6,9)t <- c(8,2.5,14,9)print(v>t) 它产生以下结果 : [1] FALSE TRUE FALSE FALSE |
< | 检查每个元素第一个向量的ent小于第二个向量的对应元素. | v <- c(2,5.5,6,9)t <- c(8,2.5,14,9)print(v < t) 它产生以下结果 : [1] TRUE FALSE TRUE FALSE |
== | 检查第一个向量的每个元素是否等于第二个向量的对应元素. | v <- c(2,5.5,6,9)t <- c(8,2.5,14,9)print(v == t) 它产生以下结果 : [1] FALSE FALSE FALSE TRUE |
< = | 检查每个元素是否第一个向量小于或等于第二个向量的对应元素. | v <- c(2,5.5,6,9)t <- c(8,2.5,14,9)print(v<=t) 它产生以下结果 : [1] TRUE FALSE TRUE TRUE |
> = | 检查每个元素第一个向量的大小等于或等于第二个向量的对应元素. | v <- c(2,5.5,6,9)t <- c(8,2.5,14,9)print(v>=t) 它产生以下结果 : [1] FALSE TRUE FALSE TRUE |
!= | 检查第一个向量的每个元素是否与第二个向量的对应元素不相等向量. | v <- c(2,5.5,6,9)t <- c(8,2.5,14,9)print(v!=t) 它产生以下结果 : [1] TRUE TRUE TRUE FALSE |
逻辑运算符
下表显示了R语言支持的逻辑运算符.它仅适用于逻辑,数字或复杂类型的向量.所有大于1的数字都被视为逻辑值TRUE.
将第一个向量的每个元素与第二个向量的对应元素进行比较.比较的结果是布尔值.
运算符 | 描述 | 示例 |
---|---|---|
& | 它被称为元素逻辑AND运算符.它将第一个向量的每个元素与第二个向量的对应元素组合在一起,如果两个元素都为TRUE,则输出为TRUE. | v <- c(3,1,TRUE,2+3i)t <- c(4,1,FALSE,2+3i)print(v&t) 它产生以下结果 : [1] TRUE TRUE FALSE TRUE |
| | 它被称为元素逻辑OR运算符.它将第一个向量的每个元素与第二个向量的对应元素组合在一起,如果元素为TRUE,则输出为TRUE. | v <- c(3,0,TRUE,2+2i)t <- c(4,0,FALSE,2+3i)print(v|t) 它产生以下结果 : [1] TRUE FALSE TRUE TRUE |
! | 它被称为Logical NOT运算符.获取向量的每个元素并给出相反的逻辑值. | v <- c(3,0,TRUE,2+2i)print(!v) 它产生以下结果 : [1] FALSE TRUE FALSE FALSE |
逻辑运算符&&和||只考虑向量的第一个元素,并给出单个元素的向量作为输出.
运算符 | 描述 | 示例 |
---|---|---|
&& | 调用逻辑AND运算符.取两个向量的第一个元素,并且仅当两者都为TRUE时才给出TRUE. | v <- c(3,0,TRUE,2+2i)t <- c(1,3,TRUE,2+3i)print(v&&t) 它产生以下结果 : [1] TRUE |
|| | 调用Logical OR运算符.取两个向量的第一个元素,如果其中一个为TRUE则给出TRUE. | v <- c(0,0,TRUE,2+2i)t <- c(0,3,TRUE,2+3i)print(v||t) 它产生以下结果 : [1] FALSE |
分配运算符
这些运算符用于为向量赋值.
运算符 | 描述 | 示例 |
---|---|---|
< : 或 = 或 << : | 被叫左分配 | v1 <- c(3,1,TRUE,2+3i)v2 <<- c(3,1,TRUE,2+3i)v3 = c(3,1,TRUE,2+3i)print(v1)print(v2)print(v3) 它产生以下结果 : [1] 3 + 0i 1 + 0i 1 + 0i 2 + 3i [1] 3 + 0i 1 + 0i 1 + 0i 2 + 3i [1] 3 + 0i 1 + 0i 1 + 0i 2 + 3i |
- > 或 - >> | 被叫右分配 | c(3,1,TRUE,2+3i) -> v1c(3,1,TRUE,2+3i) ->> v2 print(v1)print(v2) 它产生以下结果 : [1] 3 + 0i 1 + 0i 1 + 0i 2 + 3i [1] 3 + 0i 1 + 0i 1 + 0i 2 + 3i |
杂项运算符
这些运算符用于特定目的,而不是一般的数学或逻辑计算.
运算符 | 描述 | 示例 |
---|---|---|
: | 冒号运算符.它按顺序为矢量创建一系列数字. | v <- 2:8print(v) 它产生以下结果 : [1] 2 3 4 5 6 7 8 |
%in% | 此运算符用于标识元素是否属于向量. | v1 <- 8v2 <- 12t <- 1:10print(v1 %in% t) print(v2 %in% t) 它产生以下结果 : [1] TRUE [1] FALSE |
%*% | 此运算符用于将矩阵与其转置相乘. | M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)t = M %*% t(M)print(t) 它产生以下结果 : [,1] [,2] [1,] 65 82 [2,] 82 117 |