R 将变量传递给使用'enquo()的函数`

R 将变量传递给使用'enquo()的函数`,r,dplyr,tidyeval,quasiquotes,R,Dplyr,Tidyeval,Quasiquotes,我有一个概念上的问题。我想通过enquo(来自dplyr/rlang软件包)将变量传递给一个函数,该函数将这些变量中的一些变量转换为QUOSURE。但是,我想通过其他函数来实现 考虑下面的函数,它有一个较低级别的函数(使用enquo())和一个更高级别的函数,并将其输入其中。当它将变量q传递给lower\u function(例如,用户调用higher\u funct1(mtcars,cyl==6))时,new\u q的值将是表达式“q” 如何保存较高级别函数的用户输入,以便它们能被enquo(

我有一个概念上的问题。我想通过
enquo
(来自
dplyr
/
rlang
软件包)将变量传递给一个函数,该函数将这些变量中的一些变量转换为QUOSURE。但是,我想通过其他函数来实现

考虑下面的函数,它有一个较低级别的函数(使用
enquo()
)和一个更高级别的函数,并将其输入其中。当它将变量
q
传递给
lower\u function
(例如,用户调用
higher\u funct1(mtcars,cyl==6)
)时,
new\u q
的值将是表达式“q”

如何保存较高级别函数的用户输入,以便它们能被
enquo()
接受?
我知道有一些变通方法,我会更改
较低级别函数,但我对这些不感兴趣。我对使用
enquo()
不改变函数的解决方案感兴趣

库(dplyr)
图书馆(rlang)

高级函数1唯一可行的方法是采用
并将它们转发到低级函数。命名参数在每一步都必须被引用和取消引用。

唯一可行的方法是采用
..
并将它们转发到较低的函数。命名参数在每一步都必须被引用和取消引用。

如何取消引用?还是我误解了你?你这样传递
q
lower_函数(df,!!enquo(q),filter)
啊,太好了,这确实解决了问题,对吗?这正是我需要的!啊,对不起,我误解了这个问题,很高兴它解决了!你怎么能不引用它呢?还是我误解了你?你这样传递
q
lower_函数(df,!!enquo(q),filter)
啊,太好了,这确实解决了问题,对吗?这正是我需要的!啊,对不起,我误解了这个问题,很高兴它解决了!