r - 在 R 中转换字符串

标签 r data-structures statistics

我必须合并到 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/

相关文章:

r - 条件非对等连接

r - 如何在R中的ggplot中将图例添加到geom_smooth

r - "Truncate"数字在R中快速位于一个范围内

java - 简单的java层次结构问题

c# - 调整二叉树的范围搜索以获得外部元素

fitdistr函数返回值解释

R Shiny list2env

c++ - B-Tree节点 split 技术

php - 跟踪(直接)文件下载的最佳方式

r - R 中的三向卡方检验