Comment obtenir le nom de la variable dans NSE avec dplyr
J'ai donc trouvé plusieurs fois différentes façons d'y parvenir, mais depuis un an environ, il y a eu des changements dans la façon dont dplyr gère les évaluations non standard. Une manière d’y parvenir est essentiellement la suivante:
require("dplyr")
test <- function(var){
mtcars %>% select({{var}})
print(quo_name(enquo(var)))
}
test(wt)
#> [1] "wt"
Existe-t-il un moyen plus direct d'y parvenir à partir de 2021? J'aurais juré qu'il y avait quelque chose de beaucoup plus simple.
Réponses
2 MatthewSkiffington
Utiliser à ensym()
partir de rlang
:
require("dplyr")
require("rlang")
test <- function(var){
mtcars %>% select({{var}})
print(ensym(var))
}
test(wt)
#>wt
as.character(test(wt))
#>wt
#>[1] "wt"
akrun
Nous pouvons utiliser deparse/substitute
dansbase R
test <- function(var) deparse(substitute(var))
test(wt)
#[1] "wt"