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

使用tidyverse批量重命名数据列的优雅方法

tidyverse批量重命名数据列的优雅方法

嗨,刚接触R和tidyverse的话,手动一个个写重命名确实挺麻烦的,尤其是23列这么多!别担心,有几个超简洁的方法能搞定这个事儿~

方法一:从原列名中提取编号

你的列名都是以「数字+点」开头的,刚好可以用str_extract直接提取开头的数字部分,一步完成所有列的重命名:

library(tidyverse)

survey <- survey %>%
  rename_with(~ str_extract(., "^\\d+"))

这里^\\d+的意思是匹配列名开头的一个或多个数字,完美对应你想要的"1"、"2"、"3"...这样的列名,完全不用手动输入每一对映射!

方法二:直接按列顺序生成编号

如果你的列的顺序刚好就是1到23的对应顺序(从你的列名来看应该是这样的),那还有更直接的方式——直接生成和列数匹配的序列作为新列名:

survey <- survey %>%
  rename_with(~ as.character(seq_along(.)))

seq_along(.)会自动生成从1到列总数的序列,转成字符型后就是你要的简洁列名,这个方法连正则表达式都不用写,更省心!

小提示

要是之后需要对照原问题,建议提前把原列名存下来:

original_questions <- colnames(survey)

之后想查某个编号对应什么问题,直接看original_questions就好啦~

备注:内容来源于stack exchange,提问作者nstein1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 14:49:08