我正在使用dplyr并gsub删除特殊字符.我正在尝试翻译我用基础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)
Run Code Online (Sandbox Code Playgroud)
这对我有用:
comunas = comunas %>%
mutate(comuna = gsub("\xe1", "\u00e1", comuna), # a with acute
comuna = gsub("<e1>", "\u00e1", comuna) # a with acute
)
Run Code Online (Sandbox Code Playgroud)
但现在我想将相同的内容应用于每一列:
comunas = comunas %>%
mutate_all(funs(gsub("\xe1", "\u00e1", .), # a with acute
gsub("<e1>", "\u00e1", .) # a with acute
))
Run Code Online (Sandbox Code Playgroud)
我看到最后一个块没有效果.想法是获得:
region provincia comuna
[1,] "regi\xf3n de tarapacá" "cami\xf1a" "tamarugal"
[2,] "regi\xf3n de tarapacá" "iquique" "alto hospicio"
Run Code Online (Sandbox Code Playgroud)
以及任何其他需要改变.
任何的想法?提前谢谢了 !
Pie*_*nte 10
这对我有用:
region = c("regi\xf3n de tarapac\xe1","regi\xf3n de tarapac\xe1")
provincia = c("cami\xf1a","iquique")
comuna = c("tamarugal","alto hospicio")
comunas_casen_2015 = data.frame(region,provincia,comuna,stringsAsFactors=FALSE)
comunas_casen_2015 %>%
mutate(region = gsub("\xe1", "\u00e1", region), # a with acute
region = gsub("<e1>", "\u00e1", region) # a with acute
)
comunas_casen_2015 %>%
mutate_all(funs(gsub("\xe1", "\u00e1", .), # a with acute
gsub("<e1>", "\u00e1", .) # a with acute
))
region provincia comuna region_gsub provincia_gsub comuna_gsub
1 región de tarapacá camiña tamarugal región de tarapacá camiña tamarugal
2 región de tarapacá iquique alto hospicio región de tarapacá iquique alto hospicio
Run Code Online (Sandbox Code Playgroud)