我的目标是使用代码创建以下功能:
s <- c(x = 10)
a <- c(i = 3)
model <- function(s, a) {
with(as.list(c(s, a)), {
y <- x * i
y * 10
})
}
model(s, a)
Run Code Online (Sandbox Code Playgroud)
结果应为300。
我正在解析另一个软件,可以从该软件中提取方程式作为字符串。因此,我需要从这些字符串构造函数的主体。
我一直在尝试使用rlang库无济于事。
library(rlang)
func_body <- "with(as.list(c(s, a)), {
y <- x * i
y * 10
})";
foo <- new_function(
exprs(s =, a = ),
expr(!!parse(text = func_body))
)
Run Code Online (Sandbox Code Playgroud)
任何的想法?