R 语言 运算符

  • 运算符

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

    我们在R编程中具有以下类型的运算符-
    • 算术运算符
    • 关系运算符
    • 逻辑运算符
    • 赋值运算符
    • 杂项运算符
  • 算术运算符

    下表显示了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
    
  • 关系运算符

    下表显示了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
    
  • 逻辑运算符

    下表显示了R语言支持的逻辑运算符。它仅适用于逻辑,数字或复数类型的向量。所有大于1的数字均视为逻辑值TRUE。
    将第一向量的每个元素与第二向量的对应元素进行比较。比较的结果是一个布尔值。
    操作符 描述 例子
    & 它称为按元素逻辑与运算符。它将第一个向量的每个元素与第二个向量的对应元素组合在一起,如果两个元素均为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,则输出为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
    
    逻辑运算符&&|| 仅考虑向量的第一个元素,并给出单个元素的向量作为输出。
    操作符 描述 例子
    && 称为逻辑AND运算符。取两个向量的第一个元素,并且仅当两个都为TRUE时才给出TRUE。
     
    v <- c(3,0,TRUE,2+2i)
    t <- c(1,3,TRUE,2+3i)
    print(v&&t)
    
    尝试一下
    它产生以下结果-
     
    [1] TRUE
    
    || 称为逻辑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) -> 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
    
  • 杂项运算符

    这些运算符用于特定目的,而不是用于一般的数学或逻辑计算。
    操作符 描述 例子
    : 冒号运算符。它为向量按顺序创建一系列数字。
     
    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