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