You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量去除各样本名前缀 仅保留最后两段后缀(如AAP-L)

R语言提取样本名最后两段后缀实现方案

直接从字符串结构入手提取末尾两段即可,无需删除数字,可完美适配所有前缀长度不统一、包含特殊字符(如.)的样本名,不会破坏后续分组需要的标识信息。

基础R实现(无需安装额外包)

核心逻辑是按分隔符-拆分每个样本名,取拆分结果的最后2段重新拼接:

geo$pd$sample_id <- sapply(strsplit(geo$pd$title, "-"), function(seg) {
  paste(tail(seg, 2), collapse = "-")
})

正则实现(代码更简洁,运行效率更高)

如果习惯用stringr包,可直接通过正则匹配字符串末尾的两段内容,一步得到结果:

library(stringr)
geo$pd$sample_id <- str_extract(geo$pd$title, "[^-]+-[^-]+$")

效果验证

针对给出的典型样本名,处理结果完全符合预期:

  • 输入AAB-HT002-AAP-L → 输出AAP-L
  • 输入AAB-N-C021-Normal-NC → 输出Normal-NC
  • 输入AAB-HT010-AAP.T-L → 输出AAP.T-L
  • 输入AABM046-AAP-L → 输出AAP-L
  • 输入AAB-M-060-AU-L → 输出AU-L

注意:此前删除所有数字的方案会误删分组标识中的有效字符(如样本编号、分组标签关联的数字/特殊字符),无法满足分组需求,不建议使用。上述两种方案均从字符串末尾定位目标内容,不受前缀长度、前缀包含的字符类型影响,可覆盖给出的全部122条样本数据。


内容的提问来源于stack exchange,提问作者Equal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 05:48:09