我正在使用grep将“Mr”和“Mrs”替换为“Mr.”和“太太”,但每当我进入
gsub(“先生”,“先生”,数据$标题)
它也导致所有“太太”变成“先生”,这不是我正在寻找的:P
gsub(“Mr \ s”,“Mr.”数据$ Title)
也不起作用,因为R(我认为)在先生
之后不认识那个空间提前感谢您的帮助!
答案 0 :(得分:7)
gsub("(Mrs?)", "\\1.", c("Mr Smith", "Mrs Smith"))
#[1] "Mr. Smith" "Mrs. Smith"
答案 1 :(得分:3)
> gsub("Mr([^s])", "Mr.\\1", c("Mr fdfvgg", "Mrs FLkm"))
[1] "Mr. fdfvgg" "Mrs FLkm"
答案 2 :(得分:0)
我认为eddi的答案更好,但是这里有另一种方法可以让“先生”没有得到“太太”:
gsub("Mr\\b", "Mr.", c("Mr", "Mrs"))
[1] "Mr." "Mrs"
\\b
表示单词边界。
答案 3 :(得分:-2)
**您可以直接在R上运行循环 通过检查数据长度$ Title
如果长度== 2 =>数据$标题[1] - ; - “先生”。 其他数据$ Title [i]< - “Mrs。”**