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

R语言中如何用gsub批量去除数据框列名的指定后缀

解决R语言批量去除数据框列名后缀的问题

问题原因

你之前的代码里设置了fixed = TRUE,这会让gsub把|当成普通字符(而非正则表达式中的“或”逻辑),因此无法同时匹配_CIBERSORT和_MCPcounter两个后缀,只有单独指定其中一个后缀时才能生效。

正确代码

去掉fixed = TRUE参数,让正则表达式正常发挥“或”匹配的作用:

names(cibersort2) <- gsub("_CIBERSORT|_MCPcounter", "", names(cibersort2))

扩展方案(适配更多后缀场景)

如果还有其他同格式的后缀需要处理,直接把它们加入正则表达式的|分隔列表即可:

# 示例:新增_Quantiseq后缀的处理
names(cibersort2) <- gsub("_CIBERSORT|_MCPcounter|_Quantiseq", "", names(cibersort2))

如果所有后缀都是“下划线+任意字母数字组合”的格式,还可以用更灵活的正则写法一次性匹配所有这类后缀:

# 匹配下划线开头、直到字符串末尾的任意字母数字组合后缀
names(cibersort2) <- gsub("_\\w+$", "", names(cibersort2))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:10:38