我有一列名为“霍克斯先生杰克先生”的名字,即姓氏,标题。名。标题有4种类型-“先生”,“太太”,“小姐”,“大师”。如何搜索列中的每个项目并返回标题(可以将其存储在另一列中)?
Name <- c("Hobs, Mr. jack","Hobs, Master. John","Hobs, Mrs. Nicole",........)
所需的输出-具有值的“标题”列- ("Mr","Master", "Mrs",.....)
我已经尝试过这样的事情:
f <- function(d) {
if (grep("Mr", d$title)) {
gsub("$Mr$", "Mr", d$title, ignore.case = T)
}
}
没有成功>。<
也许是这样的:
library(stringr)
> Name <- c("Hobs, Mr. jack","Hobs, Master. John","Hobs, Mrs. Nicole")
> str_extract(string = Name,pattern = "(Mr|Master|Mrs)\\.")
[1] "Mr." "Master." "Mrs."
正则表达式爱好者可能会排除前面的句点,或者您可以在第二步中将其删除。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句