提问人:Hack-R 提问时间:8/28/2015 最后编辑:Hack-R 更新时间:8/28/2015 访问量:85
R 的 gsub 函数的意外结果
Unexpected results from R's gsub function
问:
gsub
似乎没有像我预期的那样工作。
我的数据是一个字符向量,它有很多值,其中国家名称采用以下格式:.完整数据可以在这里找到:"count(Country_Desc).Afghanistan"
https://gist.github.com/anonymous/1fa2d94b21a684139ffa
我打算只为该格式的元素保留实际的国家/地区名称:gsub
gsub("count(Country_Desc).", "", nms)
令我惊讶的是,这没有任何作用;结果与原始结果相同。我尝试了几种变体,但无济于事。
我注意到,如果只是作为一个实验,我运行这个:
gsub("Western Sahara", "", nms)
然后它会按预期删除该国家/地区的名称(不幸的是,这不是我需要做的)。
答:
3赞
Joshua Ulrich
8/28/2015
#1
对括号进行转义,或将 .括号用于对正则表达式进行分组。fixed=TRUE
R> gsub("count\\(Country_Desc\\).", "", nms)
R> gsub("count(Country_Desc).", "", nms, fixed=TRUE)
评论
0赞
Hack-R
8/28/2015
这是绝对正确的,谢谢!我自己只是想通了。我知道我会因为这个而踢自己!
0赞
MichaelChirico
8/28/2015
我想你也应该逃避这个时期,尽管它无论如何都能完成工作。此外,如果没有其他时期,则更容易fixed=F
nms
regex
gsub(".*\\.","",nms)
评论