如何用dplyr将第5至66列重命名为x1:x62(旧列名无规律)
用dplyr重命名指定列范围为序列名称
可以用dplyr的rename_with()函数结合列位置索引实现需求,具体代码和说明如下:
方法一:自动匹配列数生成名称
library(dplyr) # 假设你的数据集名为df df_renamed <- df %>% rename_with( .fn = ~ paste0("x", seq_along(.x)), .cols = all_of(5:66) )
方法二:手动指定名称序列
如果需要更直观地控制命名规则,也可以预先创建名称向量:
library(dplyr) new_names <- paste0("x", 1:62) df_renamed <- df %>% rename_with( .fn = ~ new_names, .cols = all_of(5:66) )
代码说明
rename_with():dplyr用于批量重命名列的核心函数.fn参数:定义重命名规则,两种方法分别通过seq_along(.x)自动匹配列数、手动生成x1到x62的名称序列.cols参数:用all_of(5:66)精准定位第5到第66列(共62列,与x1到x62的数量对应)
内容的提问来源于stack exchange,提问作者cory
相关产品推荐
相关产品推荐

