sub不替换值

时间:2017-04-21 18:09:08

标签: r string

我正在使用此命令用数字值替换字符串。这个命令对我遇到的每个字符串都运行良好;但是,它还没有替换字符串“High Display(3+)”。有没有关于这个字符串的东西使子命令不起作用,或者你认为我的数据中有某个错字(我仔细检查过,我看不到任何东西)?

my.Data$dataColumn <- sub("High Display (3+)", 2, my.Data$dataColumn)

由于

1 个答案:

答案 0 :(得分:4)

请注意,默认情况下,subgsub使用基于正则表达式的替换(fixed=FALSE)。 ()+是特殊的正则表达式元字符,必须转义才能解析为文字字符。

请参阅this demo

sub("High Display \\(3\\+\\)", 2, s)

如果替换文字字符串,请使用fixed=TRUE

s <- "High Display (3+)"
sub("High Display (3+)", 2, s, fixed=TRUE)

请参阅R demo