R: Извлечь синтаксически похожие записи набора данных [дубликаты]

У меня есть большой набор данных, который включает несколько сотен названий компаний и выглядит примерно так:

Name:
Earth Ltd.
Rocket International LLC
Space Corp LLC
Space Corporation LLc
Space International Corporation Ltd
Satellite Global

Некоторые записи — это просто разные варианты написания (иногда опечатки или переименования) или (для моих целей) одна и та же компания. Я пытаюсь объединить эти разные варианты написания в одну непротиворечивую версию, например. Space Corp LLC, Space Corporation LLc, Space International Corporation Ltd в Space Corp. LLC.

Есть ли сценарий или пакет, который позволяет мне извлекать синтаксически или иным образом похожие записи, чтобы я мог видеть, какие записи мне нужно свернуть?

Большое спасибо!


person questionmark    schedule 26.10.2020    source источник


Ответы (1)


Это работает:

corp <- c( 'Earth Ltd.', 'Rocket International LLC', 'Space Corp LLC', 'Space Corporation LLc', 'Space International Corporation Ltd', 'Satellite Global')
corp <- data.frame(name = corp)
library(stringr)
library(dplyr)
corp
                                 name
1                          Earth Ltd.
2            Rocket International LLC
3                      Space Corp LLC
4               Space Corporation LLc
5 Space International Corporation Ltd
6                    Satellite Global
 
corp %>% mutate(newcol = str_replace_all(name, 'Space Corp LLC|Space Corporation LLc|Space International Corporation Ltd', 'Space Corp. LLC'))
                                 name                   newcol
1                          Earth Ltd.               Earth Ltd.
2            Rocket International LLC Rocket International LLC
3                      Space Corp LLC          Space Corp. LLC
4               Space Corporation LLc          Space Corp. LLC
5 Space International Corporation Ltd          Space Corp. LLC
6                    Satellite Global         Satellite Global
> 
person Karthik S    schedule 26.10.2020