我必须合并到 R 中的数据框。这两个数据框共享一个公共(public) id 变量,即主题名称。但是,一个数据框中的名称部分大写,而另一个数据框中的名称则为小写。此外,名称以相反的顺序出现。这是数据框中的示例:
DataFrame1$Name:
"Van Brempt Kathleen"
"Gräßle Ingeborg"
"Gauzès Jean-Paul"
"Winkler Iuliu"
DataFrame2$Name:
"Kathleen VAN BREMPT"
"Ingeborg GRÄSSLE"
"Jean-Paul GAUZÈS"
"Iuliu WINKLER"
R 中有没有办法使这两个变量可用作合并数据框的标识符?
最好的,托马斯
最佳答案
您可以使用 gsub 来转换周围的名称:
> names
[1] "Kathleen VAN BREMPT" "jean-paul GAULTIER"
> gsub("([^\\s]*)\\s(.*)","\\2 \\1",names,perl=TRUE)
[1] "VAN BREMPT Kathleen" "GAULTIER jean-paul"
>
它的工作原理是首先匹配第一个空格,然后匹配之后的任何内容,然后切换它们。然后根据需要添加 tolower() 或 toupper(),并使用 match() 连接数据框。
不过祝你好运,将 Grassle 与 Graßle 相匹配。许多其他事情也可能会影响您,例如两个名字之间用空格分隔的人,或者列有头衔的人!
巴里
关于r - 在 R 中转换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3590045/