R语言进阶 | 非标准计算tidyeval

2020-06-16 00:00:00 数据 函数 专区 计算 表达式

接着上一篇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())

相关文章