【问题标题】:What type of joining should I use我应该使用什么类型的加入
【发布时间】:2022-01-18 00:08:29
【问题描述】:

我有两个列数不同的数据库。第二数据库的所有列都包含在第二数据库中。两个数据库中的患者也不同。我需要合并这两个数据库。函数合并(或dplyr 的_join)原则上不起作用,因为我必须覆盖数据库。绑定 (rowbind) 也不应该有效,因为我有不同的列。有什么简单的方法吗?

mydata<-data.frame(
  ID=c(1,1,1,2,2),B=rep("b",5),C=rep("c",5),D=rep("d",5)
)

mydata2<-data.frame(ID=c(3,4),B=c("b2","b2"),C=c("c2","c2"))

预期的数据集如下:

  ID  B  C    D
1  1  b  c    d
2  1  b  c    d
3  1  b  c    d
4  2  b  c    d
5  2  b  c    d
6  3 b2 c2 <NA>
7  4 b2 c2 <NA>

【问题讨论】:

  • 我猜你需要library(dplyr); bind_rows(mydata, mydata2)
  • 没关系,谢谢

标签: r merge bind


【解决方案1】:

一个merge 就足够了

merge( mydata, mydata2, all=T )
  ID  B  C    D
1  1  b  c    d
2  1  b  c    d
3  1  b  c    d
4  2  b  c    d
5  2  b  c    d
6  3 b2 c2 <NA>
7  4 b2 c2 <NA>

【讨论】:

    【解决方案2】:
    dplyr::full_join(mydata,mydata2)
    

    似乎有效。

    【讨论】:

      【解决方案3】:

      您可以使用bind_rows() 组合具有不同列数的两个数据框。更多here

      library(dplyr) 
      
      bind_rows(mydata, mydata2)
      

      【讨论】:

        猜你喜欢
        • 2017-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-05
        • 2020-11-11
        • 2019-06-30
        • 2015-03-09
        相关资源
        最近更新 更多