r - 如何从数据框的一列中的所有行中删除特定字符
问题描述
我有一个包含两列和几百行的数据框,我们称之为它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
.... .....
.... .....
现在,如果Chemical_Formula
某些化合物的结尾是1
我想1
从化学式中删除它。例如,对于第一种化合物PALMITYL-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
orsubset
函数的方法,但不太确定使用正则表达式规则给出什么模式。请帮忙!
解决方案
就是这样
df$Chemical_Formula <- gsub("1$", "", df$Chemical_Formula)
1 后面的美元符号表示字符串的结尾。这意味着它只会删除 1 如果它位于末尾
推荐阅读
- javascript - 如何更新文本输入值以使用货币格式
- python - 在不同的集合中添加列
- ios - 从 paypal ios sdk swift 获取送货地址和发票号码
- ios - 在 Swift 中将带有“\n”的数组元素合并到字符串中
- sql - 在 oracle 中检查模式表空间的使用情况
- javascript - 在茉莉花测试中模拟声明 const
- python - 如何确保所有文件在 Python 中共享相同的结构?
- java - 使用 selenium,java 在 chrome 驱动程序中禁用 css 渲染
- ruby-on-rails - Heroku 部署失败 | 宝石安装 json -v '1.8.1'
- react-native - 在 React Native 中使用 requestAnimationFrame