我一直在练习使用this page上的非标准评估(NSE)想法。现在,我想知道如何编写以dplyr函数工作方式进行标准或非标准评估的函数。
如果我有这个示例:
f = function(df, col){
col = enquo(col)
print(col)
df %>%
summarize(m = mean(!!col))
}
d = tibble(a = 1:3)
f(d, a)
我可以处理不带引号的a
。但是调用f(d, 'a')
会在f的执行环境中给出不同的定量,从而导致汇总失败。在用户提供字符的情况下,有没有一种简便的方法可以将参数a
转换为等价货币?
谢谢!