R中有多个gsub()表达式

时间:2017-10-31 13:01:14

标签: r regex

我尝试使用许多gsub命令从数据框中清除一列数据。

一些例子是:

df$col1<-gsub("-00070", "-0070", df$col1)
df$col1<-gsub("-00063", "-0063",df$col1)
df$col1<-gsub("F4", "FA", df$col1)
...

在运行这些代码行之后查看该列,看起来似乎已经进行了一些更改,但有些却没有。此外,如果我使用gsub()命令运行代码块,则更多的更改开始生效,我运行块越多。
我对这种行为感到非常困惑,感谢任何信息。

1 个答案:

答案 0 :(得分:0)

可能有更好的方法,但您可以随时使用Map

new <- 1:3
old <- letters[1:3]

to.change <- letters[1:10]

Map(function(x, y) to.change <<- gsub(x, y, to.change), old, new)

to.change

#  [1] "1" "2" "3" "d" "e" "f" "g" "h" "i" "j"