只有当它们开始一个字符串时,才用符号+和 - 替换为(+)和( - )

sam*_*amz 1 replace r dataframe

df$X <- gsub("[+]", "(+)", df$X)
df$X<- gsub("[-]", "(-)", df$X)
Run Code Online (Sandbox Code Playgroud)

这两个命令替换了我的列中的所有+和 - 和(+)( - ),即使我只想在启动单元格时进行更改.

akr*_*run 6

你可以试试

 df$X <- gsub('^\\+', '(+)',df$X)
Run Code Online (Sandbox Code Playgroud)

 gsub('^\\-', '(-)',df$X)
Run Code Online (Sandbox Code Playgroud)

另一个选择是使用gsubfn一步完成此操作

 library(gsubfn)
 gsubfn("^[+-]", list(`+` = "(+)", `-` = "(-)"), df$X)
 #[1] "(+)234x"    "ab+234"     "(+)cf+43"   "(-)234+49"  "abc-23"    
 #[6] "(-)23ab-34"
Run Code Online (Sandbox Code Playgroud)

数据

 df <- structure(list(X = c("+234x", "ab+234", "+cf+43", "-234+49", 
 "abc-23", "-23ab-34")), .Names = "X", row.names = c(NA, -6L),
 class =   "data.frame")
Run Code Online (Sandbox Code Playgroud)

  • 我的复仇会来:) (3认同)