NSE में चर का नाम dplyr के साथ कैसे प्राप्त करें
इसलिए मैंने इसे प्राप्त करने के लिए कई बार कई अलग-अलग तरीके ढूंढे हैं, लेकिन पिछले साल के अनुसार या तो इस तरह से बदलाव हुए हैं कि dplyr गैर मानक मूल्यांकन को संभालता है। इसे प्राप्त करने का अनिवार्य रूप से एक तरीका इस प्रकार है:
require("dplyr")
test <- function(var){
mtcars %>% select({{var}})
print(quo_name(enquo(var)))
}
test(wt)
#> [1] "wt"
क्या 2021 तक इसे प्राप्त करने का अधिक सीधा तरीका है? मैं शपथ ले सकता था कि कुछ बहुत सरल था।
जवाब
2 MatthewSkiffington
का प्रयोग करें 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"
akrun
हम उपयोग कर सकते हैं deparse/substitute
मेंbase R
test <- function(var) deparse(substitute(var))
test(wt)
#[1] "wt"