使用R中的gsub替换数据框列中的特定值

Replacing the specific values in columns of data frame using gsub in R

我有data.frame如下

> df
ID      Value
A_001   DEL-1:7:35-8_1 
A_002   INS-4l:5_74:d
B_023   0 
C_891   2
D_787   8
E_865   DEL-3:65:1s:b

我想将值列中以 DEL 和 INS 开头的所有值替换为空值。我的意思是我想得到如下输出

> df
ID      Value
A_001   
A_002   
B_023   0 
C_891   2
D_787   8
E_865   

我尝试使用以下代码在 R 中使用 gsub 来实现此目的,但没有成功

gsub(pattern="(^([DEL|INS]*)",replacement="",df)

任何人都可以指导我如何实现所需的输出。

提前致谢。

只需删除字符 class 并在该组旁边添加 .*sub 一个人就可以完成这项工作。

df$value <- sub("^(DEL|INS).*", "", df$value)

在一个字符 class 中,每个字符都将被巧妙地处理,而不是作为一个完整的字符串。所以 [DEL] 将匹配给定列表中的单个字符,它可能是 DEL .

第一个字母不是数字:

df$value <- gsub("^\D.*", "", df$value)

或者删除值中有'-':

df$value <- gsub(".*-.*", "", df$value)