假设以下模型
由不熟悉 R 的人写在一个文本文件中,如下所示:
goal1 = dec1_g1 + dec2_g1 + dec3_g1
goal2 = min(dec1_g2, dec2_g2, dec3_g2)
goal3 = dec1_g3 - dec2_g3 - dec3_g3
...
我需要能够使用模型解析文本文件并评估任何一行,而不必从模型的其余行中为 dec 变量赋值。虽然该函数创建了一个可以部分查询和评估的未评估parse
表达式,但我还没有找到一种方法来执行类似的操作。exp
eval(exp[1]), eval(exp[2])
eval(exp['goal1'])
问题:有没有一种方法可以在不评估模型的情况下解析模型并创建一个列表,其中包含由模型表达式左侧命名的元素,例如
model = list(
"goal1" = expression(goal1 = dec1_g1 + dec2_g1 + dec3_g1),
"goal2" = expression(goal2 = min(dec1_g2, dec2_g2, dec3_g2)),
"goal3" = expression(goal3 = dec1_g3 * dec2_g3 * dec3_g3),
...
)
动机:我希望能够从 R 代码中加载模型,解析它并通过表达式为dec变量分配正确的值来评估它的表达式,这取决于正在评估的目标。