R语言如何移除DataFrame所有列名中的v字符
R修改DataFrame列名删除指定字符的解决方案
原代码问题说明
你使用的正则\\v\\d+$仅会匹配列名末尾「v+1个或多个数字」的组合,只能删除符合该规则的片段,无法匹配出现在列名其他位置的v字符,因此不符合需求。
调整后代码
当前dplyr官方推荐用rename_with替代已停止更新的rename_all函数,实现代码如下:
library(dplyr) library(stringr) df <- df %>% rename_with(~ str_remove_all(., "v"))
如果需要兼容旧版dplyr,也可以使用rename_all写法:
df <- df %>% rename_all(~ str_remove_all(., "v"))
结果验证
运行后调用colnames(df)即可得到你期望的列名输出:
[1] "q_e5" "q_f_1" "q_f_2" "q_e6" "q_e8"
内容的提问来源于stack exchange,提问作者DanG
相关产品推荐
相关产品推荐

