• 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。

    所述第一向量的每个元素与所述第二向量的相应元素进行比较。比较的结果是一个布尔值。

    运算符描述示例
    & 这就是所谓的元素逻辑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
    
    | 这就是所谓的逐元素逻辑或运算符。它结合与第二向量的相应元素的第一向量的每个元素,如果使用这些元素之一为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
    

    赋值运算符

    这些操作符是用来分配值到向量。

    运算符描述示例
    <- 
    or

    or 
    <<-
    叫做左分配
    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
    
    -> 
    or
    ->>
    叫做右分配
    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
  • 相关阅读:
    AO学习资料.pdf
    ArcGIS中对Feature的操作
    http://bbs.esrichinabj.cn/ESRI/thread7402911.html
    ArcEngine获取两点间沿曲线的距离已经解决
    http://edndoc.esri.com/arcobjects/9.2/welcome.htm
    shp文件读入内存变量
    韩鹏 地图编辑 笔记
    出差补贴没算
    素数小结
    tomcat7配置
  • 原文地址:https://www.cnblogs.com/csguo/p/7293945.html
Copyright © 2020-2023  润新知