如何在R语言中按指定模式批量重命名数据框的列名
批量为数据框列命名为G1、G2、G3…模式
你完全可以用colnames()实现批量命名,核心是先生成符合「G+数字」模式的列名向量,再直接赋值给数据框的列名,不需要复杂操作。
假设你的数据框名为df,可以这么做:
# 生成从G1到G{列数}的名称向量 new_col_names <- paste0("G", 1:ncol(df)) # 直接替换列名 colnames(df) <- new_col_names
如果习惯用dplyr系列工具,也可以用rename_with()实现,但相比colnames()会繁琐一点,适合已经在使用tidyverse流程的场景:
library(dplyr) # 生成旧列名到新列名的映射 name_map <- setNames(paste0("G", 1:ncol(df)), colnames(df)) # 批量替换列名 df <- df %>% rename_with(~ name_map[.x])
本质上两种方法都是批量生成符合模式的名称,再一次性替换所有列名,比手动逐个修改效率高太多,完全适配7000多列的场景。
内容的提问来源于stack exchange,提问作者Basheer
相关产品推荐
相关产品推荐

