【问题标题】:Duplicate the same keyword list across all groups [duplicate]在所有组中复制相同的关键字列表[重复]
【发布时间】:2018-10-14 07:43:46
【问题描述】:

我有两个 csv 文件,当它们的交叉引用(文件 1)与代码列表(文件 2)匹配时,我想在所有组中复制相同的关键字。我知道这在 R 中是可能的,但不知道如何。任何帮助表示赞赏。

文件 1

 Group      Cross Reference
CTY23-A     A11
CTY23-C     A11
CTY23-B     A11
CTY23-D     A11

文件 2

Code      keyword
A11       AV440
A11       AV660
A11       AV760
A11       AV240

输出:

Group        keyword
CTY23-A      AV440
CTY23-A      AV660
CTY23-A      AV760
CTY23-A      AV240
CTY23-C      AV440
CTY23-C      AV660
CTY23-C      AV760
CTY23-C      AV240
CTY23-B      AV240
CTY23-B      AV440
CTY23-B      AV660
CTY23-B      AV760
CTY23-D      AV240
CTY23-D      AV440
CTY23-D      AV660
CTY23-D      AV760

【问题讨论】:

    标签: r csv merge left-join


    【解决方案1】:

    使用tidyverse,我们会创建full_joinselect 所需的列

    library(dplyr)
    full_join(df1, df2, by = c(CrossReference = "Code")) %>% 
            select(-CrossReference)
    #    Group keyword
    #1  CTY23-A   AV440
    #2  CTY23-A   AV660
    #3  CTY23-A   AV760
    #4  CTY23-A   AV240
    #5  CTY23-C   AV440
    #6  CTY23-C   AV660
    #7  CTY23-C   AV760
    #8  CTY23-C   AV240
    #9  CTY23-B   AV440
    #10 CTY23-B   AV660
    #11 CTY23-B   AV760
    #12 CTY23-B   AV240
    #13 CTY23-D   AV440
    #14 CTY23-D   AV660
    #15 CTY23-D   AV760
    #16 CTY23-D   AV240
    

    【讨论】:

      【解决方案2】:
      merge(dat1,dat2,by.x="Cross.Reference",by.y="Code")
         Cross.Reference   Group keyword
      1              A11 CTY23-A   AV440
      2              A11 CTY23-A   AV660
      3              A11 CTY23-A   AV760
      4              A11 CTY23-A   AV240
      5              A11 CTY23-C   AV440
      6              A11 CTY23-C   AV660
      7              A11 CTY23-C   AV760
      8              A11 CTY23-C   AV240
      9              A11 CTY23-B   AV440
      10             A11 CTY23-B   AV660
      11             A11 CTY23-B   AV760
      12             A11 CTY23-B   AV240
      13             A11 CTY23-D   AV440
      14             A11 CTY23-D   AV660
      15             A11 CTY23-D   AV760
      16             A11 CTY23-D   AV240
      

      【讨论】:

        猜你喜欢
        • 2019-03-12
        • 2021-12-07
        • 1970-01-01
        • 2022-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多