使用 -matchit- 命令使用模糊字符串比较进行数据合并和清理

Data consolidation and cleaning using fuzzy string comparisons with -matchit- command

提问人:Mariama Drame 提问时间:1/20/2023 最后编辑:PhilMariama Drame 更新时间:1/21/2023 访问量:25

问:

我有两个数据库,一个是指定数据,另一个是数据1(参考),我想比较每个数据名称和数据2的代码,我必须通过编写名称来做到这一点,如果它们写得相同或相似,我必须有相同的代码,但他可以找到字典数据库中多行相同的文字,并在希望他将代码与单词长度相等或更接近的那个。

> dados=data.frame(designacao = c("arroz","arroz agulha","arroz agulha","arroz grao medio", "arro","arroz medio","Leite pasteurizado meio gordo"),
+                  codigo = c("11111","11111","11111","11112","11111","11114","1141204"))
> dados1=data.frame(designacao = c("arroz","arroz grao medio longo","arroz grao medio", "Leite pasteurizado meio gordo"),
+                   codigo = c("11111","11113","11112","1141202"))
> dados
                     designacao  codigo
1                         arroz   11111
2                  arroz agulha   11111
3                  arroz agulha   11111
4              arroz grao medio   11112
5                          arro   11111
6                   arroz medio   11114
7 Leite pasteurizado meio gordo 1141204
> dados1
                     designacao  codigo
1                         arroz   11111
2        arroz grao medio longo   11113
3              arroz grao medio   11112
4 Leite pasteurizado meio gordo 1141202

三种可能的情况: - 只有一行字数最大 - 超过两行,字数最多但长度不同:发生这种情况时,取字长最接近的行。

  • 超过两行的最大字数,但长度相等:发生这种情况时,将数据指定代码与字数最大行上的任何代码进行比较,并检查数据指定是否有任何代码。
> dados
                     designacao  codigo                                         resultado_codigo
1                         arroz   11111                                           Codigo correto
2                  arroz agulha   11111                                           Codigo correto
3                  arroz agulha   11111                                           Codigo correto
4              arroz grao medio   11112                                           Codigo correto
5                          arro   11111                                           Codigo correto
6                   arroz medio   11114 codigo invalido, revise o nome da designacao ou o código
7 Leite pasteurizado meio gordo 1141204 codigo invalido, revise o nome da designacao ou o código
r 文本挖掘 strsplit stringdist fuzzyjoin

评论


答: 暂无答案