如何删除r字符串中的某些字符

如何删除r字符串中的某些字符,r,character,stringr,R,Character,Stringr,我想删除字符:“(mean(SD))”,我使用了3种方法,但都没有成功。我不知道为什么 names <- c("Y_OR_N (mean (SD))", "age (mean (SD))", "101004A (mean (SD))", "101016 (mean (SD))", "209003 (mean (SD))", "210005 (mean (SD))", "GFR (mean (SD))", "307001 (mean (SD))", "308001 (mean (SD))"

我想删除字符:“(mean(SD))”,我使用了3种方法,但都没有成功。我不知道为什么

 names <- c("Y_OR_N (mean (SD))", "age (mean (SD))", "101004A (mean (SD))", "101016 (mean (SD))", "209003 (mean (SD))", "210005 (mean (SD))", "GFR (mean (SD))", "307001 (mean (SD))", "308001 (mean (SD))", "308014 (mean (SD))")


 names %>% str_remove(pattern = " (mean (SD))")
 names %>% str_replace(pattern = " (mean (SD))", replacement = "")
 names %>% gsub(x = ., pattern = " (mean (SD))", replacement = "") 
names%str_remove(pattern=“(mean(SD))”)
名称%>%str_replace(pattern=“(mean(SD))”,replacement=“)
名称%>%gsub(x=,pattern=“(平均值(SD))”,replacement=“)

任何帮助都将不胜感激

括号是特殊的,请尝试使用
\\

names %>% str_remove_all(pattern = " \\(mean \\(SD\\)\\)")

您可以使用
gsub
+
trimws
(可选)尝试下面的代码,即

以致

> trimws(gsub("(mean (SD))","",names,fixed = T))
 [1] "Y_OR_N"  "age"     "101004A" "101016"  "209003" 
 [6] "210005"  "GFR"     "307001"  "308001"  "308014" 

您只需执行
str_remove(names,fixed((mean(SD))))
,似乎只需删除空格后的所有内容即可。请尝试
sub('.*','',x)
注意,我将
names
更改为
x
,因为
names
是R中的预定义函数
> trimws(gsub("(mean (SD))","",names,fixed = T))
 [1] "Y_OR_N"  "age"     "101004A" "101016"  "209003" 
 [6] "210005"  "GFR"     "307001"  "308001"  "308014"