我正在从事一个涉及清理大学专业数据列表的项目。我发现很多拼写错误,因此我想使用gsub()
函数将拼写错误的代码替换为正确的拼写。例如,说“biolgy”在名为Major的专业列表中拼写错误。如何获得R以检测拼写错误并将其替换为正确的拼写?我已经尝试过gsub('biol', 'Biology', Major)
,但是只能替换'biolgy'中的前四个字母。如果我执行gsub('biolgy', 'Biology', Major)
,那么它仅适用于这种情况,但是不会检测到其他形式的“生物学”拼写错误。
谢谢!
最佳答案
您应该定义一些漂亮的正则表达式,或者使用agrep
包中的base
。 stringr
包是另一种选择,我知道人们会使用它,但是我非常喜欢正则表达式,因此对我来说是不行的。
无论如何,agrep
应该可以解决问题:
agrep("biol", "biology")
[1] 1
agrep("biolgy", "biology")
[1] 1
编辑:
您还应该使用
ignore.case = TRUE
,但是准备“手工”进行一些簿记...