r - 如何在R中的数据框中提取字符串的中间部分?
问题描述
我有一个包含几列的蛋白质组数据框。其中之一是称为描述,其中我们有蛋白质名称、OS、基因名称 (GN)、PE 和 SV,如下所示。
> head(pccmit$Description)
[1] "Protein NDRG4 OS=Homo sapiens GN=NDRG4 PE=1 SV=2"
[2] "V-type proton ATPase subunit B_ brain isoform OS=Homo sapiens GN=ATP6V1B2 PE=1 SV=3"
[3] "Serotransferrin OS=Homo sapiens GN=TF PE=1 SV=3"
[4] "Glutaminase kidney isoform_ mitochondrial OS=Homo sapiens GN=GLS PE=1 SV=1"
[5] "Adenylate kinase isoenzyme 1 OS=Homo sapiens GN=AK1 PE=1 SV=3"
[6] "Sideroflexin-1 OS=Homo sapiens GN=SFXN1 PE=1 SV=4"
然后,我想只提取那些蛋白质的基因名称
我尝试使用 :str_extract 工具,但是它不起作用。也许是因为我没有使用该工具所需的正确模式
str_extract(A$Description, start = "GN=", end = " PE")
我希望有一个包含这些基因名称的数据框
> head(pccmit$Description)
[1] NDRG4
[2] ATP6V1B2
[3] TF
谢谢大家,伙计们
解决方案
使用stringr
包:
library(stringr)
str_extract(pccmit$Description, "(?<=GN=).*(?= PE)")
(?<=GN=)
GN=
后看后(?= PE)
看= PE
,.*
中间匹配所有内容。
推荐阅读
- php - 无法通过 Html 表单以 PHP 发送电子邮件
- c - C:将结构的动态数组与字符串一起保存
- php - PHP -> Curl -> Soap 响应(从 xml 标签获取数据)
- python-3.x - Scrapy没有递归地抓取所有链接
- firebase - Vue JS + Firestore - 将计算属性链接到单个文档字段
- javascript - 如何在流程中指定一种“十六进制颜色代码”?
- sustainsys-saml2 - Owin - 使用元数据文件/url 初始化 IdP
- python - 本地测试 (Python) Google Cloud Function 时的应用程序上下文错误
- html - VsVim - vit 和 vat 无法正常工作
- svn - 使用 VisualSVN:我想配置 post-commit.cmd 挂钩以向自己发送电子邮件