有没有办法从字符串中解析和评估quosure。我希望获得与以下示例相同的输出:
library(rlang)
a <- 10
quo(UQ(a) + 2 * b)
## <quosure: global>
## ~10 + 2 * b
但是从
开始t <- "UQ(a) + 2 * b"
我尝试过这样的票价是:
# Trial 1:
quo(expr(t))
# Trial 2:
parse_quosure(t)
# Trial 3:
quo(parse_quosure(t))
答案 0 :(得分:3)
看起来这可能是expr_interp
的工作。根据文档,它“在表达式中手动处理unquoting运算符......”。
因此,您可以先使用parse_quosure
,然后通过expr_interp
处理不引用的运算符。
expr_interp(parse_quosure(t))
<quosure: global>
~10 + 2 * b