我正在从事一个涉及清理大学专业数据列表的项目。我发现很多拼写错误,因此我想使用gsub()函数将拼写错误的代码替换为正确的拼写。例如,说“biolgy”在名为Major的专业列表中拼写错误。如何获得R以检测拼写错误并将其替换为正确的拼写?我已经尝试过gsub('biol', 'Biology', Major),但是只能替换'biolgy'中的前四个字母。如果我执行gsub('biolgy', 'Biology', Major),那么它仅适用于这种情况,但是不会检测到其他形式的“生物学”拼写错误。

谢谢!

最佳答案

您应该定义一些漂亮的正则表达式,或者使用agrep包中的basestringr包是另一种选择,我知道人们会使用它,但是我非常喜欢正则表达式,因此对我来说是不行的。

无论如何,agrep应该可以解决问题:

agrep("biol", "biology")
[1] 1
agrep("biolgy", "biology")
[1] 1

编辑:

您还应该使用ignore.case = TRUE,但是准备“手工”进行一些簿记...

09-26 14:38