【发布时间】:2017-08-30 14:35:13
【问题描述】:
我有一个混合格式的名称列表,我想将其分成包含 R 中名字和姓氏的列。示例数据集:
Names <- c("Mary Smith","Hernandez, Maria","Bonds, Ed","Michael Jones")
我们的目标是组装一个包含如下格式名称的数据框:
FirstNames <- c("Mary","Maria","Ed","Michael")
LastNames <- c("Smith","Hernandez","Bonds","Jones")
FinalData <- data.frame (FirstNames, LastNames)
我尝试了几种方法来选择名字或姓氏,具体取决于名称是仅由空格还是逗号空格分隔。例如,我想在 gsub 中使用正则表达式从逗号空格分隔名称的行中复制名字:
FirstNames2 <- gsub (".*,\\s","",Names)
这适用于包含 LastName, FirstName 格式的名称的行,但 gsub 将所有内容收集在具有 FirstName LastName 格式的名称的行中。
所以我的帮助请求是请告知:您将如何解决这个问题?在此先感谢大家!
【问题讨论】:
-
是“LastName, FirstName”格式的带逗号总是的名字吗?或者他们可以切换吗?
-
在我的列表中,它们始终采用姓氏、名字的格式。但是,如果我们能找到一种方法来处理这两种变化,它可能会对其他人有所帮助。谢谢!
标签: r regex text-mining