使用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]
将匹配给定列表中的单个字符,它可能是 D
或 E
或 L
.
第一个字母不是数字:
df$value <- gsub("^\D.*", "", df$value)
或者删除值中有'-':
df$value <- gsub(".*-.*", "", df$value)
我有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]
将匹配给定列表中的单个字符,它可能是 D
或 E
或 L
.
第一个字母不是数字:
df$value <- gsub("^\D.*", "", df$value)
或者删除值中有'-':
df$value <- gsub(".*-.*", "", df$value)