在 left_join 之后,我有变量var1.x var2.x... 和var1.y var2.y。我想将它们重命名为var1_tot var2_tot和var1_part var2_part。我可以做到这一点,但是组合names和字符串替换功能。dplyr这可以通过使用dplyr的rename函数 和来作为链的一部分来完成吗ends_with?
像这样?dt是一个示例数据框。dt2是最终的输出。
library(dplyr)
dt <- data_frame(var1.x = 1:3, var2.x = 4:6, var1.y = 7:9, var2.y = 10:12)
dt2 <- dt %>%
rename_at(vars(ends_with(".x")), funs(sub(".x", "_tot", .))) %>%
rename_at(vars(ends_with(".y")), funs(sub(".y", "_part", .)))
dt2
# A tibble: 3 x 4
var1_tot var2_tot var1_part var2_part
<int> <int> <int> <int>
1 1 4 7 10
2 2 5 8 11
3 3 6 9 12
Run Code Online (Sandbox Code Playgroud)