我正在R中读取一个csv文件“ dopers
”。
dopers <- read.csv(file="generalDoping_alldata2.csv", head=TRUE,sep=",")
读取文件后,我必须进行一些数据清理。例如,country
如果列中显示
“美国”或“美国”
我想换成 "USA"
我想确保,如果单词是" United States "
or "United State "
,甚至它们,我的代码也能正常工作。我想说的是,即使用"United States"
替换字符前后,也有任何字符"USA"
。我知道我们可以sub()
为此目的使用功能。我一直在网上寻找并发现此问题,但是我不知道该怎么"^" "&" "*" "."
做。有人可以解释一下。
dopers$Country = sub("^UNITED STATES.*$", "USA", dopers$Country)
根据您的示例,
s <- c(" United States", " United States ", "United States ")
您可以定义匹配它们的正则表达式模式
pat <- "^.*United State.*$"
在此,^
代表$
字符串的开始和结尾,而.
代表任何字符并*
定义一个重复(零到任意)。您可以尝试修改的模式,例如
pat <- "^[ ]*United State[ ]*$" # only ignores spaces
pat <- "^.*(United State|USA).*$" # only matches " USA" etc.
然后通过以下方式执行替换
gsub(pat, "USA", s)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句