我想通过减去另一个具有几乎相同名称的列来更正数据框中的一列,但该其他列具有后缀。我想使用 mutate_at
函数来实现此目的。
在尝试解决问题时,我努力访问 mutate_at 中函数部分的列名称,以便使用它来访问其他列。
我在下面的小例子中展示了这一点,但基本上我想访问目前使用的列名 .
,然后从管道数据中选择一个与 .
相同但具有后缀的列(在下面是 "_new"
)。
感谢您的帮助!
以下是我希望如何做的示例,但这行不通。
library(tidyverse)
data("mtcars")
new <- mtcars/4
names(new) <-paste0(names(new),"_new")
df <- bind_cols(mtcars,new)
df %>%
mutate_at(.vars = vars(carb,disp),
.funs = list(corrected = ~ . - df %>% pull(paste0(names(.),"_new"))))
df %>% pull(paste0("carb","_new"))