在R中围绕逗号转置子字符串
我有一个包含国家列表的数据框架。像中华人民共和国这样的国家的格式是“中国,中华人民共和国” 例如“刚果民主共和国”、“马其顿共和国”等 对于这种格式的每个国家/地区字符串,我想将其名称和“标题”用逗号括起来,这样它就可以正常读取,所以 “刚果民主共和国”将被改为“刚果民主共和国”在R中围绕逗号转置子字符串,r,R,我有一个包含国家列表的数据框架。像中华人民共和国这样的国家的格式是“中国,中华人民共和国” 例如“刚果民主共和国”、“马其顿共和国”等 对于这种格式的每个国家/地区字符串,我想将其名称和“标题”用逗号括起来,这样它就可以正常读取,所以 “刚果民主共和国”将被改为“刚果民主共和国” 谢谢。您可以使用sub和分组正则表达式来完成此操作。每一组括号构成一个组,它们可以用 1 \ >代码> \ 2 > /代码>来回忆。在这种情况下,我们将第一个单词与(\W+)分组,并将其移动到第二个或多个由“代码>(
谢谢。您可以使用
sub
和分组正则表达式来完成此操作。每一组括号构成一个组,它们可以用<代码> 1 \ <代码> >代码> \ 2 > /代码>来回忆。在这种情况下,我们将第一个单词与<代码>(\W+)分组,并将其移动到第二个或多个由“代码>(*))<代码>分组的组后面,我们不需要中间逗号,因此它不包含在一个组中。
str <- c('Congo, Democratic Republic of the', 'Macedonia, Republic of', 'etc')
sub("(\\w+), (.*)","\\2 \\1",str)
# [1] "Democratic Republic of the Congo" "Republic of Macedonia" "etc"
str您可以使用sub
并对正则表达式进行分组。每一组括号构成一个组,它们可以用<代码> 1 \ <代码> >代码> \ 2 > /代码>来回忆。在这种情况下,我们将第一个单词与<代码>(\W+)分组,并将其移动到第二个或多个由“代码>(*))<代码>分组的组后面,我们不需要中间逗号,因此它不包含在一个组中。
str <- c('Congo, Democratic Republic of the', 'Macedonia, Republic of', 'etc')
sub("(\\w+), (.*)","\\2 \\1",str)
# [1] "Democratic Republic of the Congo" "Republic of Macedonia" "etc"
strpaste0(sub(“*”,“,”,country),“,”,sub(“,”,country))
paste0(sub(“*”,”,country),“,”,sub(“,”,country))
并将其应用于我的数据框中的“country”列,我会使用Lappy?如果您只想sub,您可以执行:df$country并将其应用于我的数据框中的“country”列,我会使用Lappy?如果您只想sub,您可以执行:df$country