R语言函数:交集intersect、并集union、找不同setdiff、setequal

  • 交集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
  • 12

并集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
  • 12

找不同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
  • 9

判断相同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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

猜你喜欢

  • 10000+:肠道细菌 人体上的生命 宝宝与猫狗 梅毒狂想曲 提DNA发Nature 实验分析谁对结果影响大 Cell微生物专刊
  • 系列教程:微生物组入门 Biostar 微生物组 宏基因组
  • 专业技能:生信宝典 学术图表 高分文章 不可或缺的人
  • 一文读懂:宏基因组 寄生虫益处 进化树
  • 必备技能:提问 搜索 Endnote
  • 文献阅读 热心肠 SemanticScholar Geenmedical
  • 扩增子分析:图表解读 分析流程 统计绘图
  • 16S功能预测 PICRUSt FAPROTAX Bugbase Tax4Fun
  • 在线工具:16S预测培养基 生信绘图
  • 科研经验:云笔记 云协作 公众号
  • 编程模板 Shell R Perl
  • 生物科普 生命大跃进 细胞暗战 人体奥秘

R语言函数:交集intersect、并集union、找不同setdiff、setequal

相关推荐