打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
R语言中连接dplyr的join系列与merge函数

  

欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA、GEO数据挖掘。


在数据分析过程中,仅仅涉及一张表格的情况是非常少见的,我们经常需要联系到其它表格的数据,整合这些表格的信息。这时我们需要常见的三类操作来完成。

  • 合并连接:根据观测合并表格

  • 筛选连接:根据观测,筛选保留或者删去变量

  • 集合操作:不常见(暂不详述)

R语言中用于连接的函数

  • 一是dplyr中的join系列,又包括内连接外连接

内连接-inner_join

是指仅仅保留x,y中相匹配的观测,下面用几张图来说明,相当于是做了一个交集

内连接1

内连接2
内连接3
1inner_join(x,y,by="key")

外连接

外连接又包括了

  • 左连接:保留x中所有观测,y中保留匹配的观测(交集但有包含X中所有)

  • 右连接:同理保留y中所有观测(交集但保留y中所有)

  • 全连接:x,y中所有观测都保留
    下面一一用图片的方式展示,加深理解

左连接-left_join

y中未匹配的观测丢弃,x中未匹配的观测保留,y中以NA填充

1left_join(x,y,by="key)
2

左连接1
左连接2

右连接-right_join

与左连接同理,保留y中所有观测,x中仅保留匹配的观测。

1right_join(x,y,by=key)
右连接

全连接-full_join

x,y中观测全部保留,相当于取了并集

1full_join(x,y,by="key)
2

全连接

dplyr中的筛选连接

筛选连接包括:包括 半连接反连接

半连接-semi_join

保留x中与y匹配的观测,它与内连接的不同在于,取交集但是并不合并y而仅仅是保留了x,y的作用是做了筛选而已。

半连接
1semi_join(x,y,by="key)
2

反连接

是半连接的反向操作,用y做筛选,找出非相交的部分保留下来

反连接
1anti_join(x,y,by= “key”)

merge函数

dplyr中的join系列函数与base::merge函数其实相似
merge函数也能实现这四种合连接的操作,但相对来讲,dplyr中的表达更清晰,更易让人理解并记住。

内连接

1merge(x,y,by=“key”)

左连接

1merge(x,y,all.x=TRUE,by="key")

右连接

1merge(x,y,all.y=TRUE,by="key")

全连接

1merge(x,y,all.x=TRUE,all.y=TRUE,by="key")

-----------------------------------------------------------------------------------------------------------

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
R语言数据处理----数据合并与追加
R学习 从Tidyverse学起,入门R语言dplyr合并数据
两个神奇的R包介绍,外加实用小抄
R︱高效数据操作
R语言数据整理利器——dplyr
《R数据科学》第9章-用dplyr处理关系数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服