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
函数来实现这一点的方法,但不太确定使用正则表达式规则给出什么模式。请帮忙 以下内容可能对您有所帮助。其中,我使用baseR
的sub
替换函数来删除1
,如果它在元素末尾的id为NULL
sub("1$","",df$Chemical_Formula)
要将此输出保存到同一列中,请使用
df$Chemical\u Formula,以下内容可能会对您有所帮助。其中,我使用baseR
的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配方看起来你们两个是同时做的。看起来你们两个是同时做的。