我在R中读一个csv文件“dopers”
dopers <- read.csv(file="generalDoping_alldata2.csv",head=TRUE,sep=",")
读完文件后,我必须做一些数据清理.例如,如果它在国家专栏中
“美国”或“美国”
我想用“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,s)