假设我想通过在所有以数字开头的变量名之前添加前缀来有条件地重命名变量。但是,在使用rename_*函数进行操作时,我遇到了错误。
library(dplyr)
library(stringr)
ds <-
tibble(
`4 grade` = c(1,2,3),
`6 grade` = c(1,2,3),
`G8 grade` = c(1,2,3),
)
ds
# my function works with rename_all
ds %>% rename_all( ~ paste0("G", .) )
# but when I try to apply my function conditionally I get an error
ds %>% rename_at( vars(starts_with("[[:digit:]]")), ~paste0("G", .) )
ds %>% rename_at( vars(str_detect("^[[:digit:]]")), ~paste0("G", .) )
ds %>% rename_if( str_detect("^[[:digit:]]"), ~paste0("G", .) )
我如何使用条件逻辑和rename_*来指定要重命名的变量?