我正在使用 r 包模糊连接来连接两个数据集。目前我正在加入一个 column ,并想加入两个。

  • 第一个数据集具有位置名称和名为 config
  • 的列
  • 第二个数据集有一个位置的名称和两个三
    属性
  • 我想加入两列 name 和 TM

  • 我尝试添加我希望作为向量加入的列名称,但这似乎不起作用。我收到一条错误消息:
  • 错误:每个变量必须是一维原子向量或列表。问题
    变量:col。
    #This works to join on 1 column
    library(fuzzyjoin)
    stringdist_inner_join(Dataset1, Data2, by ="Name", distance_col = NULL)
    
    #Joiningontwocolumns
    stringdist_inner_join(Dataset1, Dataset2, by =c("Name","TM"), distance_col = NULL)
    

  • 数据集 1:
     Name           Config     TM
     ALTO D         BB         T
     CONTRA         ST         D
     EIGHT A        DD         D
     OPALAS         BB         T
     SAUSALITO Y    AA         D
     SOLANO J       ST         D
    

    数据集2:
     Name       Age     Rank    TM
     ALTO D     50      2       T
     ALTO D     20      6       D
     CONTRA     10      10      D
     CONTRA     15      15      T
     EIGHTH     18      21      T
     OPAL       19      4       T
     SAUSALITO  2       12      D
     SOLANO     34      43      D
    

    最佳答案

    我花了一段时间才弄清楚,但我相信多列连接的正确语法是:

    stringdist_inner_join(data1, data2,
                          by = list(x = c("Name", "TM"), y = c("Name", "TM")),
                          distance_col = NULL))
    

    关于r - 使用两列的模糊逻辑连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44372259/

    10-11 02:16
    查看更多