模糊逻辑使用两列连接

时间:2017-06-05 15:22:43

标签: r fuzzyjoin

我使用r package fuzzyjoin连接两个数据集。目前我正加入一个column,并希望加入两个。

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

我尝试添加我希望作为向量加入的列名,但这似乎不起作用。我收到一条错误消息:

  • 错误:每个变量必须是1d原子矢量或列表。问题 变量: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

1 个答案:

答案 0 :(得分:0)

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

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