r - 如何使用 dplyr 获取 NSE 中的变量名称

标签 r dplyr variable-names non-standard-evaluation

所以我已经多次找到各种不同的方法来实现这一点,但在过去一年左右的时间里,dplyr 处理非标准评估的方式发生了变化。基本上实现这一目标的一种方法如下:

require("dplyr")
test <- function(var){
  mtcars %>% select({{var}})
  print(quo_name(enquo(var)))
}

test(wt)
#> [1] "wt"

到 2021 年,是否有更直接的方法来实现这一目标?我可以发誓有更简单的东西。

最佳答案

使用 rlang 中的 ensym():

require("dplyr")
require("rlang")
test <- function(var){
    mtcars %>% select({{var}})
    print(ensym(var))
}

test(wt)
#>wt

as.character(test(wt))
#>wt
#>[1] "wt"

关于r - 如何使用 dplyr 获取 NSE 中的变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65835280/

相关文章:

r - 使用 ggplot 用不同颜色绘制多个数据帧

r - 如何找到基于两列的独特组合?

c++ - 与类型同名的变量 - 哪个编译器是正确的?

r - 如何使用 purrr :map function? 使用动态变量改变多列

r - 映射列并应用自定义函数

php - 通过引用翻译变量替换文本中的占位符

R - 如何让 max() 返回变量名而不是变量的内容?

r - R 中的 glm() 错误

r - "Error in strsplit(version_with_dots, "\\. ")[[1]] : subscript out of bounds"用于更新程序功能

r - 如何使用 r 中的 igraph 分别计算不同时期的网络测量值?