R语言之左连接的三种实现操作

 更新时间:2021年03月27日 17:18:56   作者:Watch_dou  
这篇文章主要介绍了R语言之左连接的三种实现操作,具有很好的价值,希望对大家有所帮助。一起跟随小编过来看看吧

数据处理中经常遇到表连接问题,本次介绍R语言中三种左连接方法,这三种是等价的,不过会有时间快慢问题,斟酌使用。

法一:

> data0 <- merge(a,c,all.x=TRUE,by='CELLPHONE')

法二:

> data1 <- sqldf('select a.*,b.* from a left join c on a.CELLPHONE=c.CELLPHONE')

法三:

> data2 <- c[a,on='CELLPHONE']

注意:第三种方法的顺序不能写反了。

补充:R语言中的inner_join, full_join, left_join, right_join

在R for Data Science中,作者用了非常直观的例子解释了上面的四个概念。说明如下:

我们的数据集是这样的:

x <- tribble(
 ~key, ~val_x,
 1, "x1",
 2, "x2",
 3, "x3"
)
y <- tribble(
 ~key, ~val_y,
 1, "y1",
 2, "y2",
 4, "y3"
)

可以看出,x与y的key都有1,2,但是x的key里面有3,y的key里面有4.

下面我们来看这四个概念:

1. inner_join

x %>%
 inner_join(y, by = "key")

其结果是

key val_x val_y
 <dbl> <chr> <chr>
   1 x1  y1  
   2 x2  y2

可以看出,此时基于key的连接只保留了共同的key值1与2对应的数据;

2. full_join

x %>%
 full_join(y, by = "key")

其结果是

key val_x val_y
 <dbl> <chr> <chr>
 1 x1  y1  
 2 x2  y2  
 3 x3  NA  
 4 NA  y3

可以看出,此时基于key的连接保留了所有key值对应的数据,当相应的值不存在的时候,用NA代替;

3. left_join

x %>%
 left_join(y, by = "key")

此时的结果为

<dbl> <chr> <chr>
  1 x1  y1  
  2 x2  y2  
  3 x3  NA 

可以看出, 此时基于key的连接只保留了x对应的key值的数据,当相应的值不存在的时候,用NA代替;

4. right_join

x %>%
 right_join(y, by = "key")

此时的结果为

key val_x val_y
 <dbl> <chr> <chr>
1 x1  y1  
2 x2  y2  
4 NA  y3

可以看出,此时基于key的连接只保留了y对应的key值的数据,当相应的值不存在的时候,用NA代替。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 用R语言绘制ROC曲线的实例讲解

    用R语言绘制ROC曲线的实例讲解

    这篇文章主要介绍了用R语言绘制ROC曲线的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言环状热力图的画法

    R语言环状热力图的画法

    环状热力图是一种以环状布局展示数据的可视化方法,本文主要介绍了R语言环状热力图的画法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • 如何改变R语言默认存储包的路径

    如何改变R语言默认存储包的路径

    这篇文章主要介绍了改变R语言默认存储包的路径操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • R语言基本语法深入讲解

    R语言基本语法深入讲解

    这篇文章主要介绍了R语言基本语法深入讲解,文中内容介绍的很详细,有需要的同学可以研究下
    2021-03-03
  • R语言时间序列TAR阈值自回归模型示例详解

    R语言时间序列TAR阈值自回归模型示例详解

    这篇文章主要介绍了R语言时间序列TAR阈值自回归模型,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • R语言 出现矩阵/缺失值的解决方案

    R语言 出现矩阵/缺失值的解决方案

    这篇文章主要介绍了R语言 出现矩阵/缺失值的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 使用R语言绘制棒棒糖图火柴杆图教程

    使用R语言绘制棒棒糖图火柴杆图教程

    本篇文章为大家介绍几种利用R语言绘制棒棒糖图(火柴杆图)的方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2021-11-11
  • R语言是什么 R语言简介

    R语言是什么 R语言简介

    R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、开源的软件,它是一个用于统计计算和统计制图的优秀工具
    2021-03-03
  • R语言读取excel数据的方法(两行命令)

    R语言读取excel数据的方法(两行命令)

    这篇文章主要介绍了R语言读取excel数据的方法(两行命令),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • R语言对Excel文件操作实例

    R语言对Excel文件操作实例

    在本篇文章里小编给大家整理了一篇关于R语言对Excel文件操作实例内容,有兴趣的朋友们可以学习下。
    2021-05-05

最新评论