Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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_Gsub_Stringr - Fatal编程技术网

如何在R中删除数据帧中字符串末尾的一两个字?

如何在R中删除数据帧中字符串末尾的一两个字?,r,gsub,stringr,R,Gsub,Stringr,我有一个数据框,其中一行名为“Country”。例如,当原产国为美国时,条目被列为“路易斯安那-美国”。我试图在最后去掉“-USA”,这样它只会说它来自哪个州 所以,我现在有类似的东西(尽管我有数千个条目): 但这也不起作用。我觉得我犯了一个明显的错误,但我无法理解(也许我需要使用regex?您可以尝试以下代码: df$Country <- sub(" - USA","",df$Country) df #Or if you want to you use package stringr d

我有一个数据框,其中一行名为“Country”。例如,当原产国为美国时,条目被列为“路易斯安那-美国”。我试图在最后去掉“-USA”,这样它只会说它来自哪个州

所以,我现在有类似的东西(尽管我有数千个条目):


但这也不起作用。我觉得我犯了一个明显的错误,但我无法理解(也许我需要使用regex?

您可以尝试以下代码:

df$Country <- sub(" - USA","",df$Country)
df
#Or if you want to you use package stringr
df$Country <- str_replace_all(df$Country," - USA","")
df
df$Country您想删除字符串末尾的
“USA”
“États Unis”
。所以,你需要

df$Country <- sub("\\s+(?:USA|États-Unis)$", "", df$Country)
df$Country
df$Country
for (int in index_USA) {
    str_replace_all(df$Country[int], " - USA", "")
}
df$Country <- sub(" - USA","",df$Country)
df
#Or if you want to you use package stringr
df$Country <- str_replace_all(df$Country," - USA","")
df
df$Country <- sub("\\s+(?:USA|États-Unis)$", "", df$Country)