在许多列上使用dplyr + gsub

时间:2017-04-17 17:53:20

标签: r dplyr gsub

我正在使用dplyrgsub删除特殊字符。我正在尝试翻译我用基础R的代码。

这是一个类似我的数据的假例子:

region = c("regi\xf3n de tarapac\xe1","regi\xf3n de tarapac\xe1")
provincia = c("cami\xf1a","iquique")
comuna = c("tamarugal","alto hospicio")

comunas = cbind(region,provincia,comuna)

这对我有用:

comunas = comunas %>% 
  mutate(comuna = gsub("\xe1", "\u00e1", comuna), # a with acute
         comuna = gsub("<e1>", "\u00e1", comuna) # a with acute
  )

但现在我想将相同的内容应用于每一栏:

comunas = comunas %>% 
  mutate_all(funs(gsub("\xe1", "\u00e1", .), # a with acute
         gsub("<e1>", "\u00e1", .) # a with acute
  ))

我看到最后一个块没有效果。想法是获得:

     region                     provincia   comuna         
[1,] "regi\xf3n de tarapacá" "cami\xf1a" "tamarugal"    
[2,] "regi\xf3n de tarapacá" "iquique"   "alto hospicio"

以及任何其他需要改变。

有什么想法吗?非常感谢提前!

1 个答案:

答案 0 :(得分:10)

这对我有用:

ActiveRecord