因此,我已经多次发现实现这一目标的各种不同方法,但是截至去年大约一年,dplyr处理非标准评估的方法已经发生了变化。本质上,实现此目标的一种方法如下:
require("dplyr")
test <- function(var){
mtcars %>% select({{var}})
print(quo_name(enquo(var)))
}
test(wt)
#> [1] "wt"
到2021年,是否有更直接的方法来实现这一目标?我本可以发誓那里有一个简单得多的东西。
ensym()
从使用rlang
:
require("dplyr")
require("rlang")
test <- function(var){
mtcars %>% select({{var}})
print(ensym(var))
}
test(wt)
#>wt
as.character(test(wt))
#>wt
#>[1] "wt"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句