美文网首页
按列合并

按列合并

作者: 超级无敌大蜗牛 | 来源:发表于2023-09-15 15:16 被阅读0次

    join函数

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

    image

    full_join

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

    image

    inner_join

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

    image

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

    left_join

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

    image

    right_join

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

    image

    其他连接

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

    image

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

    image

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

    merge函数

    省略。。。

    作者:WortJohn
    链接:https://www.jianshu.com/p/bf02ace4ba5c
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

          本文标题:按列合并

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