rename_if(), rename_at(), and rename_all() have been superseded by rename_with(). The matching select statements have been superseded by the combination of a select() + rename_with(). Any predicate functions passed as arguments to select() or rename_with() must be wrapped in where().
These functions were superseded because mutate_if() and friends were superseded by across(). select_if() and rename_if() already use tidy selection so they can't be replaced by across() and instead we need a new function.
.funs: A function fun, a purrr style lambda ~ fun(.) or a list of either form.
...: Additional arguments for the function calls in .funs. These are evaluated only once, with tidy dots support.
.predicate: A predicate function to be applied to the columns or a logical vector. The variables for which .predicate is or returns TRUE are selected. This argument is passed to rlang::as_function() and thus supports quosure-style lambda functions and strings representing function names.
.vars: A list of columns generated by vars(), a character vector of column names, a numeric vector of column positions, or NULL.
Examples
mtcars <- as_tibble(mtcars)# for nicer printingmtcars %>% rename_all(toupper)# ->mtcars %>% rename_with(toupper)# NB: the transformation comes first in rename_withis_whole <-function(x) all(floor(x)== x)mtcars %>% rename_if(is_whole, toupper)# ->mtcars %>% rename_with(toupper, where(is_whole))mtcars %>% rename_at(vars(mpg:hp), toupper)# ->mtcars %>% rename_with(toupper, mpg:hp)# You now must select() and then renamemtcars %>% select_all(toupper)# ->mtcars %>% rename_with(toupper)# Selection drops unselected variables:mtcars %>% select_if(is_whole, toupper)# ->mtcars %>% select(where(is_whole))%>% rename_with(toupper)mtcars %>% select_at(vars(-contains("ar"), starts_with("c")), toupper)# ->mtcars %>% select(!contains("ar")| starts_with("c"))%>% rename_with(toupper)