R 运算符

运算符是一个符号,通知编译器执行特定的数学或逻辑操作。 R语言具有丰富的内置运算符,并提供以下类型的运算符。

运算符的类型

R语言中拥有如下几种运算符类型:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 赋值运算符
  • 其他运算符

算术运算符

下表显示了R语言支持的算术运算符。 操作符对向量的每个元素起作用。

运算符描述
+两个向量相加
  1. v <- c( 2,5.5,6)
  2. t <- c(8, 3, 4)
  3. print(v+t)
它产生以下结果 -
  1. 10.0 8.5 10.0
-两个向量相减
  1. v <- c( 2,5.5,6)
  2. t <- c(8, 3, 4)
  3. print(v-t)
它产生以下结果 -
  1. -6.0 2.5 2.0
两个向量相乘
  1. v <- c( 2,5.5,6)
  2. t <- c(8, 3, 4)
  3. print(vt)
它产生以下结果 -
  1. 16.0 16.5 24.0
/将第一个向量与第二个向量相除
  1. v <- c( 2,5.5,6)
  2. t <- c(8, 3, 4)
  3. print(v/t)
当我们执行上面的代码,它产生以下结果 -
  1. 0.250000 1.833333 1.500000
%%两个向量求余
  1. v <- c( 2,5.5,6)
  2. t <- c(8, 3, 4)
  3. print(v%%t)
它产生以下结果 -
  1. [1] 2.0 2.5 2.0
%/%两个向量相除求商
  1. v <- c( 2,5.5,6)
  2. t <- c(8, 3, 4)
  3. print(v%/%t)
它产生以下结果 -
  1. [1] 0 1 1
^将第二向量作为第一向量的指数
  1. v <- c( 2,5.5,6)
  2. t <- c(8, 3, 4)
  3. print(v^t)
它产生以下结果 -
  1. [1] 256.000 166.375 1296.000

关系运算符

下表显示了R语言支持的关系运算符。 将第一向量的每个元素与第二向量的相应元素进行比较。 比较的结果是布尔值。

运算符描述
>检查第一向量的每个元素是否大于第二向量的相应元素。
  1. v <- c(2,5.5,6,9)
  2. t <- c(8,2.5,14,9)
  3. print(v>t)
它产生以下结果 -
  1. FALSE TRUE FALSE FALSE
<检查第一个向量的每个元素是否小于第二个向量的相应元素。
  1. v <- c(2,5.5,6,9)
  2. t <- c(8,2.5,14,9)
  3. print(v < t)
它产生以下结果 -
  1. TRUE FALSE TRUE FALSE
==检查第一个向量的每个元素是否等于第二个向量的相应元素。
  1. v <- c(2,5.5,6,9)
  2. t <- c(8,2.5,14,9)
  3. print(v == t)
它产生以下结果 -
  1. FALSE FALSE FALSE TRUE
<=检查第一向量的每个元素是否小于或等于第二向量的相应元素。
  1. v <- c(2,5.5,6,9)
  2. t <- c(8,2.5,14,9)
  3. print(v<=t)
它产生以下结果 -
  1. TRUE FALSE TRUE TRUE
> =检查第一向量的每个元素是否大于或等于第二向量的相应元素。
  1. v <- c(2,5.5,6,9)
  2. t <- c(8,2.5,14,9)
  3. print(v>=t)
它产生以下结果 -
  1. FALSE TRUE FALSE TRUE
!=检查第一个向量的每个元素是否不等于第二个向量的相应元素。
  1. v <- c(2,5.5,6,9)
  2. t <- c(8,2.5,14,9)
  3. print(v!=t)
它产生以下结果 -
  1. TRUE TRUE TRUE FALSE

逻辑运算符

下表显示了R语言支持的逻辑运算符。 它只适用于逻辑,数字或复杂类型的向量。 所有大于1的数字被认为是逻辑值TRUE。将第一向量的每个元素与第二向量的相应元素进行比较。 比较的结果是布尔值。

运算符描述
&它被称为元素逻辑AND运算符。 它将第一向量的每个元素与第二向量的相应元素组合,并且如果两个元素都为TRUE,则给出输出TRUE。
  1. v <- c(3,1,TRUE,2+3i)
  2. t <- c(4,1,FALSE,2+3i)
  3. print(v&t)
它产生以下结果 -
  1. TRUE TRUE FALSE TRUE
|它被称为元素逻辑或运算符。 它将第一向量的每个元素与第二向量的相应元素组合,并且如果元素为真,则给出输出TRUE。
  1. v <- c(3,0,TRUE,2+2i)
  2. t <- c(4,0,FALSE,2+3i)
  3. print(v|t)
它产生以下结果 -
  1. TRUE FALSE TRUE TRUE
!它被称为逻辑非运算符。 取得向量的每个元素,并给出相反的逻辑值。
  1. v <- c(3,0,TRUE,2+2i)
  2. print(!v)
它产生以下结果 -
  1. FALSE TRUE FALSE FALSE

逻辑运算符&&和|| 只考虑向量的第一个元素,给出单个元素的向量作为输出。

运算符描述
&&称为逻辑AND运算符。 取两个向量的第一个元素,并且只有两个都为TRUE时才给出TRUE。
  1. v <- c(3,0,TRUE,2+2i)
  2. t <- c(1,3,TRUE,2+3i)
  3. print(v&&t)
它产生以下结果 -
  1. TRUE
||称为逻辑OR运算符。 取两个向量的第一个元素,如果其中一个为TRUE,则给出TRUE。
  1. v <- c(0,0,TRUE,2+2i)
  2. t <- c(0,3,TRUE,2+3i)
  3. print(v||t)
它产生以下结果 -
  1. FALSE

赋值运算符

这些运算符用于向向量赋值。

运算符描述
<− or = or <<− 称为左分配
  1. v1 <- c(3,1,TRUE,2+3i)
  2. v2 <<- c(3,1,TRUE,2+3i)
  3. v3 = c(3,1,TRUE,2+3i)
  4. print(v1)
  5. print(v2)
  6. print(v3)
它产生以下结果 -
  1. 3+0i 1+0i 1+0i 2+3i
  2. 3+0i 1+0i 1+0i 2+3i
  3. 3+0i 1+0i 1+0i 2+3i
-> or ->> 称为右分配
  1. c(3,1,TRUE,2+3i) -> v1
  2. c(3,1,TRUE,2+3i) ->> v2
  3. print(v1)
  4. print(v2)
它产生以下结果 -
  1. 3+0i 1+0i 1+0i 2+3i
  2. 3+0i 1+0i 1+0i 2+3i

其他运算符

这些运算符用于特定目的,而不是一般的数学或逻辑计算。

运算符描述
:冒号运算符。 它为向量按顺序创建一系列数字。
  1. v <- 2:8
  2. print(v)
它产生以下结果 -
  1. 2 3 4 5 6 7 8
%in%此运算符用于标识元素是否属于向量。
  1. v1 <- 8
  2. v2 <- 12
  3. t <- 1:10
  4. print(v1 %in% t)
  5. print(v2 %in% t)
它产生以下结果 -
  1. TRUE
  2. FALSE
%%此运算符用于将矩阵与其转置相乘。
  1. M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
  2. t = M %% t(M)
  3. print(t)
它产生以下结果 -
  1. [,1] [,2]
  2. [1,] 65 82
  3. [2,] 82 117