Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中围绕逗号转置子字符串_R - Fatal编程技术网

在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" 

str
paste0(sub(“*”,“,”,country),“,”,sub(“,”,country))
paste0(sub(“*”,”,country),“,”,sub(“,”,country))
并将其应用于我的数据框中的“country”列,我会使用Lappy?如果您只想sub,您可以执行:
df$country并将其应用于我的数据框中的“country”列,我会使用Lappy?如果您只想sub,您可以执行:
df$country