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

如何用dplyr重命名数据框中含指定字符串的列名

使用dplyr批量重命名数据框列名

解决方案

结合dplyr的批量重命名函数和stringr的字符串提取功能,可以快速完成需求:

library(dplyr)
library(stringr)

# 示例数据框
df <- data.frame(ABC.efg.Basketball_seasonxx = c(0, 3), 
                 HIJK.LM.Baseball_season33 = c(5, 9))

# 批量重命名目标列
df_renamed <- df %>%
  rename_with(
    # 从列名中提取指定关键词作为新列名
    ~ str_extract(., "(Basketball|Baseball)"),
    # 筛选出包含目标关键词的列
    matches("(Basketball|Baseball)")
  )

# 查看结果
df_renamed

结果验证

运行代码后输出结果如下,完全符合预期:

Basketball Baseball
1          0        5
2          3        9

代码说明

  • rename_with():dplyr中用于批量处理列名的函数,第一个参数定义重命名规则,第二个参数指定需要处理的列范围
  • str_extract(., "(Basketball|Baseball)"):通过正则匹配,精准提取列名中的目标关键词,作为新的列名
  • matches("(Basketball|Baseball)"):通过正则筛选出所有包含指定关键词的列,确保只处理需要重命名的列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 08:25:45