[英]How can I extract from title from name in a column?
我有一列名稱格式為“Hobs, Mr. jack”,即姓氏、頭銜。 名。 標題有四種類型——“先生”、“夫人”、“小姐”、“大師”。 如何搜索列中的每個項目並返回標題,我可以將其存儲在另一列中?
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."
更高級的正則表達式可能會預先排除期間,或者您可以在第二步中刪除它們。
將數據集名稱視為 df,將列視為名稱。 新列名將是標題。
df$Title <- gsub('(.*, )|(\\..*)', '', df$Name)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.