一个简单的例子:
expr <- quote(x^t)
t <- 2
我想要的是表达式x^2
。
library(pryr)
subs(expr) # x^t
subs(expr, list(t=2)) # expr
答案 0 :(得分:4)
使用基础R,你可以像
这样的东西expr <- quote(x^t)
do.call("substitute", list(expr, list(t=2)))
# x^2
答案 1 :(得分:2)
或者(并且与R Language Definition中给出的如何执行此操作的示例相对应),您可以使用substitute()
两次。
expr <- quote(x^t)
eval(substitute(substitute(e, list(t=2)), list(e=expr)))
# x^2