使用 DOE 表中的模型脚本但更改响应你好,
我有 10 个不同的 DOE 表,每个表都有 DOE 模型脚本。我想编写脚本以使用每个表中的现有模型脚本并使用不同的响应列运行它(或替换模型脚本中的 :Y)。
假设 DOE 表之一是 dt,并且在同一张表中添加了 2 列,它们将成为研究的新响应 (Y):col1 和 col2。这些响应不在模型脚本中。
我如何修改脚本中的以下部分,以便它获取输入列并运行现有模型脚本?可能吗?或者我必须手动进入每个 DOE 表并使用来自 col1 和 col2 的 2 个响应修改“模型”脚本?
model = dt << 获取属性("模型");
插入(模型,Expr(运行));
评估(模型);
高级统计建模自动化和脚本实验设计大规模定制质量与工艺工程回复:在 DOE 表中使用模型脚本但更改响应使用“帮助 > 脚本索引”查看“RemoveFrom()”。 如果我理解正确,你也可以使用:
NamesDefaultToHere(1);
modelScript = Expr(Fit Model(Effects(:A, :B, :A * :B, ), Y( :Y )));
RemoveFrom(modelScript, 2); // Remove the current response definition
InsertInto(modelScript, Expr(Y(:New Y))); // Add the updated response definition
InsertInto(modelScript, Expr(Run)); // Add the 'Run' directive
Print(modelScript);
回复:在 DOE 表中使用模型脚本但更改响应嗨,伊恩,
我得到了它。 只需查看您在此处显示的自定义 RSM.jmp 中的“模型”。 Y(:Y) 位于 Fit 模型下的第一个参数。而我的 DOE 表中的模型是第二个(或本例中的最后一个)参数。 我认为使用 RemoveFrom (modelscript, 1) 会删除我的“模型”中的第一个参数,即 Effect。 我将 1 更改为 -1,现在可以使用了。
感谢您的帮助,现在我可以在所有不同的 DOE 表中启用循环。
回复:在 DOE 表中使用模型脚本但更改响应嗨,伊恩,
下面的行实际上删除了 DOE“模型”脚本中的所有内容(所有效果)。
RemoveFrom(模型脚本,1)
下面是我设计 DOE 时创建的模型示例。 有什么办法可以用脚本删除和替换 :Y 吗?
Fit Model(
Effects(
:A, :B, :A * :B,
),
Y( :Y )
);
回复:在 DOE 表中使用模型脚本但更改响应请找到一种方法:
NamesDefaultToHere(1);
// Example table with saved DOE script
dt = Open("$SAMPLE_DATA/Design Experiment/Custom RSM.jmp");
// Make a new response column with different (random) values
Eval(Column(dt, "Y") << getScript);
Column(dt, "Y 2") << setName("New Y");
Column(dt, "New Y") << setFormula(RandomNormal(0,1));
// Use the saved script with the new response column . . .
modelScript = dt << getScript("Model"); // Get the saved script
RemoveFrom(modelScript, 1); // Remove the current response definition
InsertInto(modelScript, Expr(Y(:New Y))); // Add the updated response definition
InsertInto(modelScript, Expr(Run)); // Add the 'Run' directive
modelScript; // Run the modified script
(不知道为什么,但是 'SubstituteInto()' 有一些问题)。</CODE><CODE class=" language-jsl">