【问题标题】:merge/match two data frames based on partially overlapping variables [closed]基于部分重叠的变量合并/匹配两个数据框[关闭]
【发布时间】:2013-10-21 17:23:19
【问题描述】:

我想根据部分重叠的变量合并/匹配两个数据框。

输入(示例):

Data.frame_A
X1          X2  X3
aaa,bbb,ccc 25  AGF
ddd,eee,fff 23  BGD


Data.frame_B
Y1  Y2
aaa 25
fff 23

结果:

Data.frame_C
Z1  Z2  Z3
AGF 25  aaa
BGD 23  fff

到目前为止,我尝试了一些 unix 命令和 R(例如合并),但无法让它工作......

【问题讨论】:

    标签: r merge dataframe


    【解决方案1】:

    merge 确实有效

    > Data.frame_C <- merge(Data.frame_A, Data.frame_B, by.x="X2", by.y="Y2", sort=FALSE)[, -2]
    > Data.frame_C
      X2  X3  Y1
    1 25 AGF aaa
    2 23 BGD fff
    

    基本上,上面的Data.frame_C 是你想要的,但如果你真的想要问题中显示的输出,那么还需要两行代码:

    > Data.frame_C <- Data.frame_C[ , c(2,1,3)]
    > colnames(Data.frame_C) <- c("Z1", "Z2", "Z3")
    > Data.frame_C
       Z1 Z2  Z3
    2 AGF 25 aaa
    1 BGD 23 fff
    

    【讨论】:

      猜你喜欢
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-15
      • 1970-01-01
      • 2019-03-05
      • 2021-01-29
      相关资源
      最近更新 更多