R 如何用单个字替换数据帧列中的多个字?

R 如何用单个字替换数据帧列中的多个字?,r,gsub,substitution,stringr,R,Gsub,Substitution,Stringr,我正试图清理一个数据库,其中的因子被用不同的词估算,但含义相同 例:从“带尾巴、四条腿和毛皮的猫咪”或“欧洲斑猫”或“猫”到“猫” 我研究了gsub命令类型和stringr命令,但未能实现我的目标 有什么建议吗 编辑: 抱歉不清楚,这是我的第一篇文章 我想用一个字来代替几个字。如果“cat”出现在条目中的任何位置,我希望将整个条目重命名为“cat”。到目前为止,我只能用其他内容替换部分条目,但无法删除多余的单词 试试这个 x <- c("Purring cat with tail, 4 l

我正试图清理一个数据库,其中的因子被用不同的词估算,但含义相同

例:从“带尾巴、四条腿和毛皮的猫咪”或“欧洲斑猫”或“猫”到“猫”

我研究了
gsub
命令类型和
stringr
命令,但未能实现我的目标

有什么建议吗

编辑: 抱歉不清楚,这是我的第一篇文章

我想用一个字来代替几个字。如果“cat”出现在条目中的任何位置,我希望将整个条目重命名为“cat”。到目前为止,我只能用其他内容替换部分条目,但无法删除多余的单词

试试这个

x <- c("Purring cat with tail, 4 legs and fur", "European tabby cat", 
"dog", "Cat CAT cat", "bird")

replace(x, grepl("(?i)cat", x, perl=TRUE), "Cat")
# [1] "Cat"  "Cat"  "dog"  "Cat"  "bird"

x这里的折叠规则是什么?你希望计算机知道“欧洲斑猫”和“猫”是一样的吗?“可爱的猫”怎么样?或者你只是想看看“猫”是否出现在短语中的任何地方,如果出现,用“猫”替换整个短语?