4

我正在使用 r 包 blurjoin 加入两个数据集。目前我正在加入一个专栏,并想加入两个专栏。

  • 第一个数据集有一个位置的名称和一个名为 config 的列
  • 第二个数据集有一个位置的名称和两个三个属性
  • 我想加入两列名称和 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
4

1 回答 1

2

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

stringdist_inner_join(data1, data2, 
                      by = list(x = c("Name", "TM"), y = c("Name", "TM")), 
                      distance_col = NULL))
于 2019-03-18T21:04:10.330 回答