zoukankan      html  css  js  c++  java
  • R学习-8.Logic

    Logic

    这一节简单介绍在R中的逻辑运算。

    TRUEFALSE是R中的两个逻辑值,也称布尔值。一个逻辑表达式的最终结果是TRUE或者FALSE

    > TRUE == TRUE # 判断是否相等
    [1] TRUE
    > (FALSE == TRUE) == FALSE # 先运算括号里的
    [1] TRUE
    > 6 == 7
    [1] FALSE
    > 6 < 7
    [1] TRUE
    > 8 > 8
    [1] FALSE
    > 8 >= 8 # 是否大于等于
    [1] TRUE
    > 9 != 10 # 是否不等于
    [1] TRUE
    

    &表示AND运算符,当符号两边值都为TRUE时,整个表达式的值为TRUE&&&类似,不过&&的左右两边有vector时,只将第一个元素拿出来进行比较。

    > TRUE & TRUE
    [1] TRUE
    > TRUE & FALSE
    [1] FALSE
    > (FALSE == TRUE) & FALSE
    [1] FALSE
    > (FALSE != TRUE) & TRUE
    [1] TRUE
    > TRUE & c(TRUE, FALSE, TRUE)
    [1]  TRUE FALSE  TRUE
    > TRUE && c(TRUE, FALSE, TRUE)
    [1] TRUE
    

    |表示OR运算符,当符号两边有一个为TRUE时,整个表达式的值为TRUE|||类似,不过&&的左右两边有vector时,只将第一个元素拿出来进行比较。

    > TRUE | c(TRUE, FALSE, FALSE)
    [1] TRUE TRUE TRUE
    > TRUE || c(TRUE, FALSE, FALSE)
    [1] TRUE
    

    在一个既有算术运算、比较运算和逻辑运算的表达式中,是先进行算术,然后进行比较,最后是逻辑运算。同等优先级是从左到右计算。逻辑运算中先进行AND运算再进行OR运算。

    > 1 + 2 > 3 + 2 & 1 + 2 < 6 + 3
    [1] FALSE
    > 5 > 8 || 6 != 8 && 4 > 3.9 # FALSE || TRUE && TRUE
    [1] TRUE
    

    函数isTRUE()用来判断一个表达式值是否为TRUE,

    !NOT运算符,表示将逻辑值取反,即NOT FALSE 等于TRUE,NOT TRUE等于FALSE

    > isTRUE(6>5)
    [1] TRUE
    > !isTRUE(8 != 5)
    [1] FALSE
    > isTRUE(8 != 5)
    [1] TRUE
    

    函数identical()判断两个对象是否相等。

    > identical('twins', 'twins')
    [1] TRUE
    > identical(123, 123)
    [1] TRUE
    > identical(123, 321)
    [1] FALSE
    

    xor()异或运算函数,当两个逻辑值不一样时,返回TRUE, 其余情况则返回FALSE

    > xor(TRUE, FALSE)
    [1] TRUE
    > xor(FALSE,TRUE)
    [1] TRUE
    > xor(FALSE,FALSE)
    [1] FALSE
    > xor(TRUE,TRUE)
    [1] FALSE
    > xor(5 == 6, !FALSE)
    [1] TRUE
    

    which()可以接受一组逻辑vector,返回元素值为TRUE的索引值。

    > ints <- sample(10) # 创建一组整数vector
    > ints
     [1]  1  5 10  8  6  3  2  4  7  9
    > ints > 7
    [1] FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE
    > which(ints > 7)
    [1]  3  4 10
    > idx = which(ints > 7)
    > idx
    [1]  3  4 10
    > ints[idx]
    [1] 10  8  9
    

    any()当存在元素为TRUE时,则返回TRUEall()当所有元素为TRUE时,才返回TRUE

    > ints < 0
     [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
    > ints > 5
     [1] FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE
    > any(ints < 0)
    [1] FALSE
    > any(ints > 5)
    [1] TRUE
    > ints > 0
     [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
    > all(ints > 0)
    [1] TRUE
    > all(ints > 5)
    [1] FALSE
    

    上一节:R学习-7.Matrices and Data Frames

    上一节:R学习-9.Functions

  • 相关阅读:
    安全工具
    WebRTC媒体协商及实践
    流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
    基于 WebRTC 技术的实时通信服务开发实践
    实时音视频互动系列(下):基于 WebRTC 技术的实战解析
    WebRTC基于浏览器的开发
    webRtc+websocket多人视频通话
    Android IOS WebRTC 音视频开发总结(四九) ffmpeg介绍
    Android IOS WebRTC 音视频开发总结(二五) webrtc优秀资源汇总
    The 3n + 1 problem UVA 100
  • 原文地址:https://www.cnblogs.com/huanping/p/13184354.html
Copyright © 2011-2022 走看看