如何使用dplyr替换R中的多个字符?

如何使用dplyr替换R中的多个字符?,r,dplyr,R,Dplyr,我编写了一个函数,如下所示: special_char <- function(data_in) { data_in=gsub("à","a",data_in) data_in=gsub("â","a",data_in) data_in=gsub("é","e",data_in) data_in=gsub("î","i",data_in) data_in=gsub("ä","ae",data_in) data_in=gsub("ö","oe",data_in)

我编写了一个函数,如下所示:

special_char <- function(data_in) {
  data_in=gsub("à","a",data_in)
  data_in=gsub("â","a",data_in)
  data_in=gsub("é","e",data_in)
  data_in=gsub("î","i",data_in)
  data_in=gsub("ä","ae",data_in)
  data_in=gsub("ö","oe",data_in)
  data_in=gsub("ü","ue",data_in)
  data_in=gsub("imp.","impessa",data_in)
  data_in=gsub("ch.","chemin",data_in)
  data_in=gsub("av.","avenue",data_in)
  data_in=gsub("str.","strasse",data_in)

  return(data_in)
}
然而,结果却是一团糟。有人注意到我的方法有明显的错误吗

假设我有以下输入:

data_test <- data.frame(col1 = c("Céline", "Désiré", "Björn"))
这对我很有用:

some_data  %>% mutate_all(funs(special_char))
我希望这也能为你解决这个问题。如果不是,您的数据是什么样子的


Florian

您能否提供转换失败的数据帧示例?@MattJewett的评论…和预期输出。当然-谢谢您的评论!我添加了一个可能的输入和预期的输出。@PatrickBalada,您可以使用
chartr
函数,我建议您研究一下,它在1行内解决了您一半的问题,但不幸的是,它没有。我的输出如下:ncated>1 ueoueeueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueueue。您提供的错误是基于使用上述示例输入运行还是使用原始输入运行?使用示例输入。真奇怪。。。也许我的编码有问题。可能是这样,编码(如.character(data_test$col1[1])会为您带来什么回报?对我来说,上面写着UTF-8,“拉丁语1”。如何将其更改为utf8?
c("Celine", "Desire", "Bjoern")
some_data  %>% mutate_all(funs(special_char))