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

  • 相关阅读:
    五种IO模型透彻分析
    linux正则表达式
    洛谷P1242 新汉诺塔 【神奇的递归】
    【NOIP2012】疫情控制
    [ZJOI2007]棋盘制作 【最大同色矩形】
    [NOIP2008]双栈排序 【二分图 + 模拟】
    LCA的倍增算法
    最大权闭合子图
    小Z的袜子 题解报告【莫队】
    ZJOI2012网络 题解报告【LCT】
  • 原文地址:https://www.cnblogs.com/nkwy2012/p/10147325.html
Copyright © 2011-2022 走看看