这个问题似乎完全微不足道,但我不明白为什么它不起作用。我只是想将涉及“+”运算符的字符变量替换为不包括“+”运算符的单个值。由于某种原因,gsub() 和 sub() 函数替换了数值但保留了运算符。关于如何克服这个问题有任何提示吗?
非常感谢!
data <- c(1,2,3,4,"5+")
gsub(pattern="5+",replacement="5",x=data)
#[1] "1" "2" "3" "4" "5+"
gsub(pattern="5+",replacement="",x=data)
#[1] "1" "2" "3" "4" "+"
R 3.0.2
+
是一个元字符,当你想匹配它时需要转义:
gsub(pattern="5\\+",replacement="5",x=data)
#[1] "1" "2" "3" "4" "5"
或者更一般地说,如果您想删除+
:
gsub(pattern="\\+",replacement="",x=data)
如果没逃脱的话+
表示“前一项将匹配一次或多次”,因此在第二个示例中,"5"
的元素"5+"
与模式匹配,并替换为""
,留给你"+"
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)