R 如何从数据帧的一列中的所有行中删除特定字符

R 如何从数据帧的一列中的所有行中删除特定字符,r,regex,subset,gsub,grepl,R,Regex,Subset,Gsub,Grepl,我有一个数据框,有两列和几百行,我们称它为df,看起来像这样- Name Chemical_Formula PALMITYL-COA C37H62N7O17P3S1 CPD0-888 C34H52N7O24P2 3-OXOPALMITOYL-COA C37H60N7O18P3S1 OH-MYRISTOYL C43H75N3O20P2 CPD-19171 C39H64N7O18P3S1

我有一个数据框,有两列和几百行,我们称它为
df
,看起来像这样-

Name                 Chemical_Formula
PALMITYL-COA         C37H62N7O17P3S1
CPD0-888             C34H52N7O24P2
3-OXOPALMITOYL-COA   C37H60N7O18P3S1
OH-MYRISTOYL         C43H75N3O20P2
CPD-19171            C39H64N7O18P3S1
CPD-15253            C52H99N3O13P2
CPD-12122            C75H112O2
CPD0-937             C149H260N2O78P4
....                 .....
....                 .....
现在,如果某些化合物的
化学式
1
结尾,我想从化学式中删除
1
。例如,对于第一种化合物
棕榈酰-COA
,化学式为
C37H62N7O17P3S1
,以
1
结尾。因此,在我的新数据框中,我希望第一种化合物的化学式为
C37H62N7O17P3S

所以,我的新数据框应该是这样的-

Name                 Chemical_Formula
PALMITYL-COA         C37H62N7O17P3S
CPD0-888             C34H52N7O24P2
3-OXOPALMITOYL-COA   C37H60N7O18P3S
OH-MYRISTOYL         C43H75N3O20P2
CPD-19171            C39H64N7O18P3S
CPD-15253            C52H99N3O13P2
CPD-12122            C75H112O2
CPD0-937             C149H260N2O78P4
....                 .....
....                 .....
我想保留所有的化学式,如果它们不是以数字
1
结尾的话。以
1结尾的那些
我只想删除1,保持公式的其余部分不变


我正在寻找使用
gsub sub-grepl
subset
函数来实现这一点的方法,但不太确定使用正则表达式规则给出什么模式。请帮忙

以下内容可能对您有所帮助。其中,我使用base
R
sub
替换函数来删除
1
,如果它在元素末尾的id为NULL

sub("1$","",df$Chemical_Formula)

要将此输出保存到同一列中,请使用
df$Chemical\u Formula,以下内容可能会对您有所帮助。其中,我使用base
R
sub
替换函数来删除
1
,如果它在元素末尾的id为NULL

sub("1$","",df$Chemical_Formula)
要将此输出保存到同一列中,请使用
df$Chemical\u Formula方法如下

df$Chemical_Formula <- gsub("1$", "", df$Chemical_Formula)
df$Chemical\u配方

df$Chemical_Formula <- gsub("1$", "", df$Chemical_Formula)

df$Chemical\u配方看起来你们两个是同时做的。看起来你们两个是同时做的。