zoukankan      html  css  js  c++  java
  • R语言常用函数:交集intersect、并集union、找不同setdiff、判断相同setequal的运用

    在R语言进行数据分析时,经常需要找不同组间的相同和不同,以下几个函数可供使用

    交集intersect
    两个向量的交集,集合可以是数字、字符串等

    # 两个数值向量取交集
    intersect(x=1:4, y = 2:6)
    # [1] 2 3 4

    # 两个字符向量取交集
    intersect(x=letters[1:4], y = letters[2:6])
    # [1] "b" "c" "d"

    # 混合向量
    intersect(x=c("a", "b", "c", 4), y = c("a", 2, 3, 4))
    [1] "a" "4"
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    并集union
    求两个向量的并集,集合可以是任何数值类型

    # 两个数值向量取并集
    union(x=1:4, y = 2:6)
    # [1] 1 2 3 4 5 6

    # 两个字符向量取并集
    union(x=letters[1:4], y = letters[2:6])
    # [1] "a" "b" "c" "d" "e" "f"

    # 混合向量
    union(x=c("a", "b", "c", 4), y = c("a", 2, 3, 4))
    [1] "a" "b" "c" "4" "2" "3"
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    找不同setdiff
    求向量x与向量y中不同的元素(只取x中不同的元素)
    setdiff(x, y)

    x = 1:4
    y = 2:6
    # 找x中不同于y的元素
    setdiff(x, y)
    # [1] 1
    # 找y中不同于x的元素
    setdiff(y, x)
    # [1] 5 6
    1
    2
    3
    4
    5
    6
    7
    8
    判断相同setequal
    x = 1:4
    y = 2:6
    # 判断x与y是否相同,结果为假
    setequal(x, y)
    # [1] FALSE
    # 找y与x是否相同,结果为假
    setequal(y, x)
    # [1] FALSE

    # 只有完全相同的才返回TRUE
    y = 1:4
    setequal(x, y)
    # [1] TRUE

  • 相关阅读:
    Golang Struct 声明和使用
    docker 中ulimit设置理解
    微服务架构引入的问题及解决方案
    Jenkins 集成Sonar代码质量扫描
    Jenkins和gitlab集成自动构建
    初识微服务架构
    jenkins 集成钉钉机器人通知
    Go 新起点
    shell中的(),{}几种语法用法
    二进制日志配置和运维管理
  • 原文地址:https://www.cnblogs.com/liuyin-2019/p/13088501.html
Copyright © 2011-2022 走看看