美文网首页生信大杂烩
R语言中的full_join、inner_join、left_j

R语言中的full_join、inner_join、left_j

作者: WortJohn | 来源:发表于2017-08-05 22:03 被阅读5195次

两个dataframe数据之间的连接关系

经常会碰到需要把两个数据进行合并,大的方向有按“列”和按"行"合并两种方式,这里主要讲下按“列”进行合并,如下图,假设有a、b两个数据,注意共有的列是”chr"和“bin";值为1,2,3,4,5的bin是a、b共有的; 值为10,11,12的bin是a独有的;值为6,7,8,9的bin是b独有的;默认是按照共有列进行连接

full_join

我认为从连接后的记录数理解可能更好些,full_join连接后的记录数等于”共有的记录数+a独有的记录数+b独有的记录数“,根据连接键,共有的记录数为5,a独有的记录数为3,b独有的记录数为4,所以为12,结果可以理解为a、b的并集

inner_join

inner_join连接后的记录数等于”共有的记录数“, 也就是5,结果可以理解为a、b的交集,R语言中的merge函数也可以实现

相信你已经猜到left_join和right_join的记录数是多少了

left_join

left_join连接后的记录数等于”a的记录数“,当然,a是需要放在第一个参数,这篇文章讲的都是a作为连接函数的第一个参数值,b作为连接函数的第二个参数值

right_join

right_join连接后的记录数等于”b的记录数“

其他连接

有些人可能看到过semi_joinanti_join连接,semi_join连接其实是在inner_join的结果中只取属于a的字段(也就是列)

而anti_join其实就是a独有的记录

其他语言也是一样的理解!

相关文章

  • R语言中的full_join、inner_join、left_j

    两个dataframe数据之间的连接关系 经常会碰到需要把两个数据进行合并,大的方向有按“列”和按"行"合并两种方...

  • R programming - WEEK4

    参考文献 R语言实例-数据过滤grep正则表达式R 语言中,数据框依据不同列进行排序R语言rank函数详细解析R语...

  • R语言中的%in%

    R语言中的%in%用来寻找前面一个向量内的哪些元素在后面一个向量中,比如: #首先复制两个变量a和b >a <- ...

  • R语言中的switch函数用法

    R语言中的switch与其它语言中的switch有很大区别。 在R中,switch函数的语法形式如下: 其中,ex...

  • R语言中字体设置

    关于R语言中字体的调整 R语言系统中对于中文的字体设置为宋体,本文主要介绍如何来调整R语言中的默认字体,已经在如何...

  • R语言中的哈希(hash in R)

    用过perl和Python的人一定会对字典、散列、哈希有印象,通过以对象去获得它的值,这在需要映射的时候非常有用。...

  • R语言中的包

    包是函数的集合,载入后可以直接用在我们的代码里。 查看已经安装了哪些包 :path.packages() 包的安装...

  • R语言中的管道%>%

    %>%来自dplyr包的管道函数,我们可以将其理解为车间里的流水线,经过前一步加工的产品才能进入后一步进一步加工,...

  • R语言笔记1:初识数据结构

    简介 R语言是一套开源的数据分析解决方案。R语言中提供了多种存储数据的对象类型,包括标量(R语言中的标量是由向量的...

  • 2018-06-21

    R语言与python语言中的对应 将R语言中的各个操作和python操作对应起来,可以快速掌握两门语言,并且理解一...

网友评论

    本文标题:R语言中的full_join、inner_join、left_j

    本文链接:https://www.haomeiwen.com/subject/gcmwlxtx.html