Проще говоря, оберните все имена аргументов "специальными символами" (например, минус) в кавычки или кавычки, например, rename("Re-ply" = re_ply)
.И вы можете использовать квази-цитату или sjmisc::var_rename()
, если хотите старое имя = новое имя вместо новое имя = старое имя .
library(rlang)
library(dplyr)
library(sjmisc)
temp <- data.frame(
re_ply = rnorm(10),
total_ID = rnorm(10),
re_ask = rnorm(10)
)
old_name <- "re_ply"
new_name <- "Re-ply"
temp %>% colnames()
#> [1] "re_ply" "total_ID" "re_ask"
temp %>%
dplyr::rename(
"Re-Ply" = re_ply,
total_id = total_ID,
"Re-ask" = re_ask
) %>%
colnames()
#> [1] "Re-Ply" "total_id" "Re-ask"
temp %>%
dplyr::rename(
!! new_name := !! old_name,
total_id = total_ID,
"Re-ask" = re_ask
) %>%
colnames()
#> [1] "Re-ply" "total_id" "Re-ask"
temp %>%
sjmisc::var_rename(
re_ply = "Re-ply",
total_ID = total_id,
re_ask = "Re-ask"
) %>%
colnames()
#> [1] "Re-ply" "total_id" "Re-ask"
temp %>%
sjmisc::var_rename(
!! old_name := !! new_name,
total_ID = "total_id",
re_ask = "Re-ask"
) %>%
colnames()
#> [1] "Re-ply" "total_id" "Re-ask"
Созданона 2019-04-01 пакетом Представ (v0.2.1)