有没有办法清除R中数据帧中的值不一致?

我在尝试清除“国家/地区”栏中的名称不一致时遇到困难。我正在从不同的站点爬网数据以获取国家名称和相关数据,我想使用“国家/地区”列将它们合并在一起。但是,不同的站点使用不同的国家命名方式,例如:圣文森特和格林纳丁斯vs圣文森特和格林纳丁斯。我有办法通过合并这些名称来清理此问题吗?

例如:我的数据框中有此问题的子集是

     Country                            Continent   GDP growth
166 Saint Vincent and the Grenadines    N. AMERICA      NA
211 St. Vincent & Grenadines                NA         0.86%

除非我为每个国家/地区手动进行处理,否则我想不出一种方法来清除所有剩余数据。有没有办法做到这一点,还是我必须手动做到?

非常感谢!

评论
  • R幻影
    R幻影 回复

    没有简单的解决方案。我建议将字典数据框与所有国家/地区列表一起使用,然后根据Levenshtein距离匹配记录。

    The dictionary with countries list is available here: github

    从中创建df,并使用Levenshtein距离函数匹配记录。您需要为df和字典df的每个记录测量Levenshtein距离。良好的匹配将由每个观察距原始df的Levenshtein距离的最小值定义。

    Here's the link to Levenshtein distance function

    希望能帮助到你!