在 R 中使用记录链接匹配两个数据集



我正在尝试匹配R中的两个数据集:datasetA和datasetB。这些数据集包含以下列。

数据集A

  • 编号: 15
  • 姓名:彼得·桑德斯
  • First_Name:彼得·
  • Last_Name:桑德斯
  • ORG_NAME:咖啡和蛋糕
  • 城市: 纽约
  • 金额(美元): 10369
  • 类别: 食品和饮料
  • 日期: 12/01/2014

数据集 B 具有类似的列:

  • ORG_ID:5241
  • 姓名:彼得·桑德
  • 名字:彼得
  • 姓氏:桑德
  • company_name:咖啡和蛋糕
  • 地点: 纽约
  • 资助: 10000
  • sub_cat:餐厅
  • start_date: 2013-01-09 16:42:56
  • end_date: 2015-01-04 11:43:39

唯一完全匹配的是名字"彼得"。但是我的数据集包含许多公司,因此我的数据集中会有很多不是同一个人的"彼得"。因此,我想匹配多列中的相似性。

我想根据所有列中的信息匹配这两个数据集。我想我需要Levenshtein Similarity并为此进行比较.linkage,但是我没有成功。

有谁知道我怎么能匹配这个?任何帮助将不胜感激。

由于数据不可用,我能给出的输入也不多,但这应该可以让您入门。

我根据您的问题创建了小数据集。

df <- data.frame(name="Peter Sanders", firstname="peter", lastname = "sanders", 
org= "coffee&cake")
df1 <- data.frame(name="Peter Sandesadasdasdasr", firstname="peter", lastname = "sander", 
cname= "coffee and cake")

我使用R的内置dist()函数使用manhattan距离查找相似性

dist(cbind(unlist(df1), unlist(df)), "manhattan")

结果

name firstname lastname
firstname    2                   
lastname     4         2         
cname        6         4        2

最新更新