R语言如何为数据框指定列名批量添加后缀.m
代码有效性确认
你的原有代码逻辑正确,在你提供的数据集上可以正常实现给指定列添加.m后缀的需求,只需注意运行后将结果赋值回原数据框即可保存修改:
# 你的原有代码补充赋值即可生效 dat <- dat %>% rename_at(vars(self.report, teacher.report, parent.report, peer.report, observation, standardized.assessments, administrative.records, qed, primary, secondary,mixed, Targeted, academic, social_relationships, emo_and_problem), ~ paste0(., '.m'))
优化方案(适配新版dplyr)
目前rename_at已被dplyr官方标记为弃用语法,如果你使用的是dplyr 1.0.0及以上版本,更推荐使用rename_with实现相同需求,兼容性更强:
dat <- dat %>% rename_with( # 指定改名规则 .fn = function(x) paste0(x, ".m"), # 指定要修改的列 .cols = c(self.report, teacher.report, parent.report, peer.report, observation, standardized.assessments, administrative.records, qed, primary, secondary, mixed, Targeted, academic, social_relationships, emo_and_problem) )
可选批量匹配技巧
如果后续你需要修改的列名有统一的命名规律,不需要手动逐一列出,也可以用匹配函数批量筛选:
- 用
starts_with("xxx")匹配以特定字符开头的列 - 用
ends_with("xxx")匹配以特定字符结尾的列 - 用
matches("正则表达式")匹配符合规则的列
内容的提问来源于stack exchange,提问作者claire_123
相关产品推荐
相关产品推荐

