【发布时间】:2017-04-04 15:26:33
【问题描述】:
我正在尝试使用 -gsub- 从 R 中的字符串中分离单词。我想提取一个可以在“(”和“(m)”(男性)或“(”和“(f)”之间找到的名称。我正在努力合并到一行代码中。
name<-c("Dr. T. (Tom) Bailey (m), UCL- Physics" , "Dr. B.K. (Barbara) Blue (f), Oxford - Political Science")
malename<-gsub(".*\\) (.*) \\(m).*", "\\1", name)
femname<-gsub(".*\\) (.*) \\(f).*", "\\1", name)
上面的代码分别给了我男性和女性的名字,但理想情况下,我想在一个变量中获取他们的姓氏。这将涉及一些 OR 函数(so (m) OR (f)),但我不知道如何合并它。
【问题讨论】:
-
你的意思是你在找
".*\\) (.*) \\([mf]\\).*"? -
gsub('(\\w+) \\([mf]\\)|.', '\\1', name)