如何高效为R语言数据框中指定列追加统一后缀更新列名?
高效批量重命名R数据框列名(除指定列外)
下面提供两种无需手动逐个修改的高效实现方法:
基础R原生方法(无需额外包)
直接通过列名向量的索引定位和批量修改:
# 获取数据框的列名向量 cols <- colnames(d) # 筛选出除"sub"外的列名位置 target_cols <- cols != "sub" # 给目标列名批量追加"_self"后缀 cols[target_cols] <- paste0(cols[target_cols], "_self") # 将修改后的列名重新赋值给数据框 colnames(d) <- cols
这种方法不需要安装额外包,适配所有R环境,后续新增非"sub"列时也能自动处理。
tidyverse 简洁方法(推荐)
如果习惯使用dplyr等tidyverse工具包,可用rename_with函数一行完成:
library(dplyr) # 排除sub列,给其他列名追加后缀 d <- d %>% rename_with(~ paste0(., "_self"), -sub)
rename_with专为批量重命名列设计,-sub表示排除sub列,~ paste0(., "_self")定义了列名添加后缀的规则,代码简洁易读。
内容的提问来源于stack exchange,提问作者jo_
相关产品推荐
相关产品推荐

