这个问题与将变量传递给使用 `enquo()` 的函数有关。
我有一个更高的函数,其中包含 tibble ( dat
) 的参数和 dat () 中感兴趣的列variables_of_interest_in_dat
。在该函数中,有一个对我想要传递的另一个函数的调用variables_of_interest_in_dat
。
higher_function <- function(dat, variables_of_interest_in_dat){
variables_of_interest_in_dat <- enquos(variables_of_interest_in_dat)
lower_function(dat, ???variables_of_interest_in_dat???)
}
lower_function <- function(dat, variables_of_interest_in_dat){
variables_of_interest_in_dat <- enquos(variables_of_interest_in_dat)
dat %>%
select(!!!variables_of_interest_in_dat)
}
传递variables_of_interest_in_dat
给 lower_function 的推荐方法是什么?
我已经尝试过lower_function(dat, !!!variables_of_interest_in_dat)
,但是当我运行higher_function(mtcars, cyl)
它时会返回“错误:无法!!!
在顶层使用”。
在相关帖子中,higher_function 在将变量传递给 lower 函数之前没有对变量进行 enquo。
谢谢