根据模式匹配和两个其他条件合并两个数据帧

时间:2020-07-02 21:29:22

标签: r dataframe merge

我有两个数据帧,如下所示:

df1
  City   State   Year
Modesto    CA    2000
Modesto    CA    2001
Anchorage  AK    1999
Anchorage  AK    2000
Greensboro NC    1998
Greensboro NC    1999
Las Vegas  NV    2001
Fort Worth TX    2002
df2
              Agency               State  Year  
Pasadena Police Dept                CA    1999
Pasadena Police Dept                CA    2000
Las Vegas Metropolitan Police Dpt   NV    2001
Modesto Police                      CA    2000
Modesto Police                      CA    2001
City of Fort Worth Police Dept      TX    2002

我需要将它们合并到所有3列中,问题是在代理商列中搜索与城市列的匹配项。

对于此示例,这就是我的输出:

Output
              Agency                City      State  Year  
Modesto Police                     Modesto     CA    2000
Modesto Police                     Modesto     CA    2001
Las Vegas Metropolitan Police Dpt  Las Vegas   NV    2001
City of Fort Worth Police Dept     Fort Worth  TX    2002

如您所见,“代理商”列的字眼与各部门的标题方式以及字符串中城市名称的位置不一致。

我尝试使用grep的变体,但是在匹配state和year列时也无法成功应用它。我还会在合并中提取其他列,但是这些是要加入的相关列。

0 个答案:

没有答案