r - 从混合字符串中提取特定位置的字母和数字
问题描述
df
Chromosome aaChange
1 16 p.E548fs
2 16 p.S64X
3 16 p.P23H
4 16 p.G18V
5 16 p.L251S
我想提取第三个字母和后面的数字。下面是我想要的输出。
Chromosome aaChange Protein_position
1 16 p.E548fs E548
2 16 p.S64X S64
3 16 p.P23H P23
4 16 p.G18V G18
5 16 p.L251S L251
谢谢。
解决方案
您可以sub
在基础 R 中执行此操作:
transform(df, Protein_position = sub('..(.\\d+).*', '\\1', aaChange))
# Chromosome aaChange Protein_position
#1 16 p.E548fs E548
#2 16 p.S64X S64
#3 16 p.P23H P23
#4 16 p.G18V G18
#5 16 p.L251S L251
数据
df <- structure(list(Chromosome = c(16L, 16L, 16L, 16L, 16L),
aaChange = c("p.E548fs", "p.S64X", "p.P23H", "p.G18V", "p.L251S")),
class = "data.frame", row.names = c(NA, -5L))
推荐阅读
- dependency-injection - 注入没有范围注解的 Bean
- php - Google Drive File/sheet API:当我尝试复制时找不到文件
- postgresql - 复合类型中的可选属性 (Postgresql)
- sql - 如何更改 Azure SQL 在线时间
- python - 在 python 上生成特定图的问题
- node.js - 安装 puppeteer 会引发错误,并显示“无法安装脚本 'node install.js'”
- python-3.x - 从 Django DeleteView 返回到 Django ListView 分页列表中的右侧页面
- java - 导入与当前类同名的类
- python - 使用打印功能的缩进逻辑
- python - 使用 Selenium-Python 检查页面中是否存在文本的最佳方法