R——merge

本文介绍了如何使用R中的merge函数进行不同类型的连接操作,包括内连接、左连接、右连接和全连接。通过实例展示了如何创建数据框df1和df2,并分别演示了各类型连接的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关系连接函数merge

上一次写过关于内连接、左连接、右连接、全连接的文章,用的是inner_join()、left_join、right_join()、full_join(),详细介绍可以看一下原来的那篇文章,链接:https://blog.youkuaiyun.com/weixin_42437924/article/details/108701670

这次用merge函数来实现:
先生成两个数据框df1,df2

> df1 <- data.frame(Id=c(1:8),sport=c(rep('basketball',4),rep("soccer",4)))
> df2 <- data.frame(Id=c(2,4,6,10),sex=c(rep('male',3),'female'))
> df1
  Id      sport
1  1 basketball
2  2 basketball
3  3 basketball
4  4 basketball
5  5     soccer
6  6     soccer
7  7     soccer
8  8     soccer
> df2
  Id    sex
1  2   male
2  4   male
3  6   male
4 10 female

内连接:

> df3 <- merge(x=df1,y=df2,by='Id')
> df3
  Id      sport  sex
1  2 basketball male
2  4 basketball male
3  6     soccer male

左连接:

> df4 <- merge(x=df1,y=df2,by='Id',all.x = TRUE)
> df4
  Id      sport  sex
1  1 basketball <NA>
2  2 basketball male
3  3 basketball <NA>
4  4 basketball male
5  5     soccer <NA>
6  6     soccer male
7  7     soccer <NA>
8  8     soccer <NA>

右连接:

> df5 <- merge(x=df1,y=df2,by='Id',all.y = TRUE)
> df5
  Id      sport    sex
1  2 basketball   male
2  4 basketball   male
3  6     soccer   male
4 10       <NA> female

全连接:

> df6 <- merge(x=df1,y=df2,by='Id',all = TRUE)
> df6
  Id      sport    sex
1  1 basketball   <NA>
2  2 basketball   male
3  3 basketball   <NA>
4  4 basketball   male
5  5     soccer   <NA>
6  6     soccer   male
7  7     soccer   <NA>
8  8     soccer   <NA>
9 10       <NA> female
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值