在left_join之后,我有变量var1.x var2.x
...和var1.y var2.y
。我想将它们重命名为var1_tot var2_tot
和var1_part var2_part
。我可以这样做,但结合names
和字符串替换函数。可以使用dplyr
dplyr
函数rename
和ends_with
将其作为{{1}}链的一部分来完成吗?
答案 0 :(得分:3)
喜欢这个? 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
答案 1 :(得分:-1)
实际上
mydf %>% rename_at(vars(ends_with(".x")),funs(str_replace(.,".x","_total")))
做了工作