簡體   English   中英

如何從列中的名稱中提取標題?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM