Dplyr获取成对列(foo.x,foo.y)差异

Dplyr获取成对列(foo.x,foo.y)差异,r,dplyr,R,Dplyr,我想得到多个foo.x和foo.y列的差异,所有这些列都在一个范围内变异 这将用相应的y列值替换所有x列 df <- Left_By_POS %>% left_join(Hired_By_POS, by=c("YrMonth" = "YrMonth")) %>% mutate(across(ends_with('.x'), ~eval(as.name(paste0(substring(toString(cur

我想得到多个
foo.x
foo.y
列的差异,所有这些列都在一个范围内变异

这将用相应的y列值替换所有x列

df <- Left_By_POS %>%
  left_join(Hired_By_POS, by=c("YrMonth" = "YrMonth")) %>%           
  mutate(across(ends_with('.x'), ~eval(as.name(paste0(substring(toString(cur_column()),1,str_length(toString(cur_column()))-2),".y")))))

谢谢

我做了一个扩展
dplyr::over
功能的测试,以在成对的列上循环。还有一个比较不同方法的软件包,因此可能没有必要使用该软件包。@TimTeaFan非常感谢您,效果非常好!!
df <- Left_By_POS %>%
  left_join(Hired_By_POS, by=c("YrMonth" = "YrMonth")) %>%           
  mutate(across(ends_with('.x'), ~. -~eval(
as.name(paste0(substring(toString(cur_column()),1,
str_length(toString(cur_column()))-2),".y")))))