为了账号安全,请及时绑定邮箱和手机立即绑定

用gsub替换带重音的多个字母

用gsub替换带重音的多个字母

慕哥9229398 2019-08-19 14:29:25
用gsub替换带重音的多个字母当然我可以替换这样的特定参数:    mydata=c("á","é","ó")     mydata=gsub("á","a",mydata)     mydata=gsub("é","e",mydata)     mydata=gsub("ó","o",mydata)     mydata但是肯定有一种更容易的方法来完成这一切,对吧?我没有发现gsub帮助非常全面。
查看完整描述

3 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

一个有趣的问题!我认为最简单的选择是设计一个特殊的函数,比如“multi”gsub():


mgsub <- function(pattern, replacement, x, ...) {

  if (length(pattern)!=length(replacement)) {

    stop("pattern and replacement do not have the same length.")

  }

  result <- x

  for (i in 1:length(pattern)) {

    result <- gsub(pattern[i], replacement[i], result, ...)

  }

  result

}

这给了我:


> mydata <- c("á","é","ó")

> mgsub(c("á","é","ó"), c("a","e","o"), mydata)

[1] "a" "e" "o"


查看完整回答
反对 回复 2019-08-19
  • 3 回答
  • 0 关注
  • 540 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信