我有一个包含许多列以相同后缀结尾的数据框,我想使用 rename_at() 将它们全部删除,但我无法弄清楚。
library(tidyverse)
my_df <- tibble(id = c(1, 2),
jan_real = c(8, 10),
feb_real = c(9, 10),
mar_real = c(1, 11))
desired_df <- tibble(id = c(1, 2),
jan = c(8, 10),
feb = c(9, 10),
mar = c(1, 11))
最佳答案
您现在应该使用 rename_with()
取代了 rename_at()
来自 dplyr 1.0.0
:
library(dplyr)
my_df %>%
rename_with(~ sub("_real$", "", .x), everything())
# A tibble: 2 x 4
id jan feb mar
<dbl> <dbl> <dbl> <dbl>
1 1 8 9 1
2 2 10 10 11
使用 rename_at()
:my_df %>%
rename_at(vars(everything()), ~ sub("_real$", "", .x))
关于在 r 中使用 rename_at 从列名中删除后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63696486/