我有一个这样的data.frame
df = data.frame(
do_not_rename = 1:3,
rename1 = 1:3,
rename2 = 1:3)
Run Code Online (Sandbox Code Playgroud)
并假设我只想通过在前面添加“完成” "rename"来重命名以开头的对象"finished_renamex"。
我怎么做?想象一下,如果我有数千个变量。
使用dplyr::rename_at和start_with帮助
library(dplyr)
df %>% rename_at(vars(starts_with('rename')), ~paste0('finished_',.))
do_not_rename finished_rename1 finished_rename2
1 1 1 1
2 2 2 2
3 3 3 3
Run Code Online (Sandbox Code Playgroud)
使用基数R
colnames(df)[grep('^rename',names(df))] <- paste0('finished_',grep('^rename',names(df), value = TRUE))
Run Code Online (Sandbox Code Playgroud)