运算符是一个符号,它告诉编译器执行特定的数学或逻辑操作。 R语言丰富的内置运算符,并提供以下类型的运算符。
运算符类型
在R编程中有以下类型的运算符 –
- 算术运算符
- 关系运算符
- 逻辑运算符
- 赋值运算符
- 其他运算符
1.算术运算符
下表显示了R语言支持的算术运算符。运算符对向量的每个元素进行操作。
加法(+), 相加两个向量。
示例代码: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
求模数(%/%), 将第一个向量除以第二个向量得到模数。
示例代码: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
2. 关系运算符
下表显示了R语言支持的关系运算符。 将第一个向量的每个元素与第二向量中的相应元素进行比较。比较结果是一个布尔值。
大于(>) – 检查第一个向量的每个元素是否大于第二个向量中的相应元素。
示例代码:v <- c(2,5.5,6,9); t <- c(8,2.5,14,9); print(v>t);
执行上面示例代码,得到以下结果 –
[1] FALSE TRUE FALSE FALSE
小于(<) – 检查第一个向量的每个元素是否小于第二个向量中的相应元素。
示例代码: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
3. 逻辑运算符
下表显示了R语言支持的逻辑运算符。它仅适用于逻辑,数字或复合类型的向量。所有大于1
的数字都被认为是逻辑值TRUE
。
将第一个向量的每个元素与第二个向量的相应元素进行比较。比较结果是一个布尔值。
逻辑与(&) – 它被称为元素逻辑与运算符。它将第一个向量的每个元素与第二个向量的相应元素相结合,如果两个元素都为真,则输出为
TRUE
。
示例代码:v <- c(3,1,TRUE,2+3i); t <- c(4,1,FALSE,2+3i); print(v&t);
执行上面示例代码,得到以下结果 –
[1] TRUE TRUE FALSE TRUE
逻辑或(|) – 它被称为元素逻辑或运算符。它将第一个向量的每个元素与第二个向量的相应元素相结合,如果两个元素中有一个为真,则输出为
TRUE
。
示例代码:v <- c(3,0,TRUE,2+2i); t <- c(4,0,FALSE,2+3i); print(v|t);
执行上面示例代码,得到以下结果 –
[1] TRUE FALSE TRUE TRUE
逻辑非(!) – 它被称为元素逻辑非运算符。获取向量的每个元素并给出相反的逻辑值。
示例代码:v <- c(3,0,TRUE,2+2i); print(!v);
执行上面示例代码,得到以下结果 –
[1] FALSE TRUE FALSE FALSE
逻辑运算符&&
和||
仅考虑向量的第一个元素,并给出单个元素的向量作为输出。
逻辑与运算符(&&) – 取两个向量的第一个元素,并且只有在两个都为
TRUE
时结果才为TRUE
值。v <- c(3,0,TRUE,2+2i); t <- c(1,3,TRUE,2+3i); print(v&&t);
执行上面示例代码,得到以下结果 –
[1] TRUE
逻辑或运算符(||) – 取两个向量的第一个元素,并且如果有一个为
TRUE
时,结果为TRUE
值。v <- c(0,0,TRUE,2+2i); t <- c(0,3,TRUE,2+3i); print(v||t);
执行上面示例代码,得到以下结果 –
[1] FALSE
4. 赋值运算符
这些运算符用于向向量分配值。
<−
,<<−
和=
– 叫作左分配符。参考以下代码 –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) -> v1; c(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
5. 其他运算符
这些运算符用于特定目的,而不是一般的数学或逻辑运算。
冒号运算符(:) – 它为向量创建一系列数字。参考以下代码 –
v <- 2:8; print(v);
执行上面示例代码,得到以下结果 –
[1] 2 3 4 5 6 7 8
成员运算符(%in%) – 该运算符用于识别元素是否属于向量。参考以下代码 –
v1 <- 8 ; v2 <- 12; t <- 1:10; print(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