R语言常用函数:交集intersect、并集union、找不同setdiff、判断相同setequal
集合运算与连接其实有相似之处,但是连接是针对特定列(主键)来对表格进行连接,而集合运算则直接对记录(entry)进行运算。简单来说,就是以行为单位进行运算。假设表格A与表格B有相同的列名称,它们其实数据的来源是相同的,但是记录的东西有重复的部分,又有不一样的地方。如果我们想要知道哪些部分重复了,就需要求两个数据的交集。简单来讲,本章就是要讲数据记录的“交、并、补”运算。具体的运算逻辑如下图所示:
求两个向量的并集
集合可以是任何数值类型
union(x=1:3, y=2:5)
[1] 1 2 3 4 5
union(x=c(“abc”, “12”), y=c(“bcd”, “efg”))
[1] “abc” “12” “bcd” “efg”
1
2
3
4
5
6
setdiff
求向量x与向量y中不同的元素(只取x中不同的元素)
setdiff(x, y)
setdiff(x=1:4, y=2:3)
[1] 1 4
1
2
intersect
两个向量的交集
intersect(x=c(1:5, NA), y = c(2:5, NA))
[1] 2 3 4 5 NA
两个字符串向量的交集只有一个元素 “abc”
intersect(x=c(“abc”, “bcd”), y = c(“abc”, 12, “apple”))
[1] “abc”
————————————————
#求两个向量的并集
#集合可以是任何数值类型
union(x=1:3, y=2:5)
#求向量x与向量y中不同的元素(只取x中不同的元素)
setdiff(x=1:4, y=2:3)
#两个向量的交集
intersect(x=c(1:5, NA), y = c(2:5, NA))
两个字符串向量的交集只有一个元素 “abc”
intersect(x=c(“abc”, “bcd”), y = c(“abc”, 12, “apple”))
两个字符向量取并集
union(x=letters[1:4], y = letters[2:6])
两个数值向量取并集
union(x=1:4, y = 2:6)
两个字符向量取交集
intersect(x=letters[1:4], y = letters[2:6])
#判断相同setequal
x = 1:4
y = 2:6
判断x与y是否相同,结果为假
setequal(x, y)
相关文章
- Go语言基础之函数
- Go语言基础之range
- go语言笔记2
- R语言与非参数统计(核密度估计)
- 最棒的7种R语言数据可视化
- R语言环境变量的设置 环境设置函数为options()
- java struts2入门学习--OGNL语言常用符号和常用标签学习
- 语言之美系列一 - Java篇
- Atitit 标记语言ML(Markup Language) v6 目录 1. 标记语言ML Markup Language1 1.1. 简介1 2. 置标语言置标语言通常可以分为三类:标识性的
- Python语言学习:Python语言学习之正则表达式常用函数之re.search方法【输出仅一个匹配结果(内容+位置)】、re.findall方法【输出所有匹配结果(内容)】案例集合之详细攻略
- Database之SQL:RDBMS关系型数据库的简介、SQL语言的简介(原理/各大方言对比)、基础(SQL执行顺序/五大类函数/索引/视图/事务/安全/存储过程/游标/优化)之详细攻略
- Python语言学习之字母A开头函数使用集锦:assert用法之详细攻略
- Python语言学习之字母G开头函数使用集锦:global用法之详细攻略
- 函数式编程与面向对象编程[2]: 静态类型语言的表达力 静态类型语言与动态类型语言...
- R语言做文本挖掘 Part5情感分析
- Go语言精进之路自学系列 | 让自己习惯于函数是“一等公民”
- Go语言自学系列 | golang函数的返回值
- go语言web开发系列之四:gin框架用viper读取配置文件数据
- sprintf函数---c语言字符串格式化
- 【gRPC】第4篇 go语言实现gRPC(示例实践演示)
- go语言入门-一文带你掌握go语言函数
- r 提取元素函数 R语言中利用sapply函数提取列表中元素 提取满足某种要求的字符 提取固定符号出现时的字符串 切割字符串 双斜杠 双斜线 正则表达 切割之后并提取出现相应符号时的内容元素