R语言进阶 | 非标准计算tidyeval
接着上一篇R语言进阶 | 非标准计算base,本篇讲tidyeval。
在tidyverse工具链中,tidyeval提供比较一致的非标准计算服务。tidyeval的函数主要在rlang包中。rlang非标准计算函数比较多,目前坑还没有踩完。这里只分享目前自己在数据分析中常用的函数组合。
parse_expr+eval_tidy
parse_expr把字符转成表达式,然后用eval_tidy进行求值。
parse_exprs是parse_expr的加强版,可以处理多个字符串。
在eval_tidy函数之外,还有轻量级的eval,就是eval_bare。两个函数差别不大,eval_bare不能接收数据,eval_tidy可以接收数据。
eval_bare(expr, env = parent.frame())
eval_tidy(expr, data = NULL, env = caller_env())
相关文章