这是我以前用 R 格式转贴的问题。
我正在寻找一种基于参与者全名的部分匹配来合并两个数据文件的方法,这些全名有时以不同的格式输入,有时拼写错误。我知道部分匹配(例如 agrep 和 pmatch)和合并数据文件有一些不同的功能选项,但我需要帮助 a) 将两者结合起来;b) 进行可以忽略中间名的部分匹配;c) 在合并的数据文件中存储原始名称格式和 d) 保留唯一值,即使它们没有匹配项。
例如,我有以下两个数据文件:
文件名:员工数据(R 中的 df1)
Full.Name Date.Started Orders
1 ANGELA MUIR 6/15/14 25 44
2 EILEEN COWIE 6/15/14 40
3 LAURA CUMMING 10/6/14 43
4 ELENA POPA 1/21/15 37
5 KAREN MACEWAN 3/15/99 39
文件名:评估数据(R 中的 df2)
Candidate Leading.Factor SI.D SI.I
1 Angie muir I -3 12
2 Caroline Burn S -5 -3
3 Eileen Mary Cowie S -5 5
4 Elena Pope C -4 7
5 Henry LeFeuvre C -5 -1
6 Jennifer Ford S -3 -2
7 Karen McEwan I -4 10
8 Laura Cumming S 0 6
9 Mandip Johal C -2 2
10 Mubarak Hussain D 6 -1
我想根据名称(df1 中的全名和 df2 中的候选人)合并它们,忽略中间名(例如 Eilen Cowie = Eileen Mary Cowie)、额外空格(Laura Cumming = Laura Cumming);拼写错误(例如 Elena Popa = Elena Pope)等。
理想的输出如下所示:
Name Full.Name Candidate Date.Started Orders Leading.Factor SI.D SI.I
1 ANGELA MUIR ANGELA MUIR Angie muir 6/15/14 25 44 I -3 12
2 EILEEN COWIE EILEEN COWIE Eileen Mary Cowie 6/15/14 40 S -5 5
3 LAURA CUMMING LAURA CUMMING Laura Cumming 10/6/14 43 S 0 6
4 ELENA POPA ELENA POPA Elena Pope 1/21/15 37 C -4 7
5 KAREN MACEWAN KAREN MACEWAN Karen McEwan 3/15/99 39 I -4 10
6 Caroline Burn N/A Caroline Burn N/A N/A S -5 -3
7 Henry LeFeuvre N/A Henry LeFeuvre N/A N/A C -5 -1
8 Jennifer Ford N/A Jennifer Ford N/A N/A S -3 -2
9 Mandip Johal N/A Mandip Johal N/A N/A C -2 2
10 Mubarak Hussain N/A Mubarak Hussain N/A N/A D 6 -1
任何建议将不胜感激!