gpt4 book ai didi

r - dplyr:在mutate_at函数中访问列名

转载 作者:行者123 更新时间:2023-12-03 15:54:43 26 4
gpt4 key购买 nike

我想通过从名称中减去另一列名称几乎相同的列来更正data.frame中的列,但是该另一列具有后缀。我想为此使用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"))

最佳答案

除了使用mutate_at之外,为什么不将mutateacrosscur_column结合使用,即:

df %>% 
mutate( across( c(carb,disp), ~ . - pull(df, paste0(cur_column(), "_new") ), .names = "{.col}_corrected") )

关于r - dplyr:在mutate_at函数中访问列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61903103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com