首页 > 解决方案 > 如何将方程中的变量替换为另一个方程然后在 R 中评估该表达式?

问题描述

我的问题很简单,但我还没有找到解决方案。我有方程 y = 3 + x & x = x1 + x2; 其中 x1 = 3 & x2 = 4。这些方程来自文本文件。不出所料,我希望 y 等于 10。我已经尝试了以下方法,但显然不起作用。

x1 <- 3
x2 <- 4
y_equation <- "3 + x"
x_equation <- "x1 + x2"
y <- parse(text = y_equation)
y <- substitute(y, list(x = parse(text = x_equation)))
eval(y)

非常感谢任何帮助。

标签: rrlang

解决方案


我们可以用sub“x_equation”替换“y_equation”中的“x”,然后执行eval

eval(parse(text = sub("x", x_equation, y_equation)))
#[1] 10

推荐阅读