如何从绘图中获取脚本并保存到 JSL 脚本中的数据表?我正在尝试从绘图中提取脚本并将其保存到数据表中以备将来使用。
下面是我为“示例数据库”中的“镇痛药”表编写的脚本,它没有像我希望的那样工作。
“print(dtp_script)”行显示了正确的脚本。
但是,数据表中保存的实际“plot_dt1”脚本只包含“dtp_script”变量名,而不是实际脚本。 如何将实际脚本保存在数据表中? 谢谢!
dt = current data table ();
dtplot = dt << Fit Group( Oneway( Y( :pain ), X( :gender ) ),
Oneway( Y( :pain ), X( :drug ) ),
<<{Arrange in Rows( 2 )} );
dtp_script = dtplot << get script;
print (dtp_script);
dt << new script("plot_dt1", dtp_script );脚本回复:如何从绘图中获取脚本并保存到 JSL 脚本中的数据表?谢谢你! 这非常有帮助!
回复:如何从绘图中获取脚本并保存到 JSL 脚本中的数据表?如果您使用 NameExpr(dtp_script),它将返回 dtp_script 引用的表达式。然后,您可以将其放在最后一条语句中的“dtp_script”位置。但是,为此,您需要让 JMP 在将新脚本消息发送到数据表之前评估 NameExpr(dtp_script)。你最后的声明应该是这样的:
Eval(
EvalExpr(
dt << New Script("plot_dt1", Expr(Name Expr(dtp_script)))
)
)
对于 EvalExpr() 的参数,Expr() 内的任何内容都会在适当的位置进行评估。EvalExpr() 返回一个表达式,其中计算值替换了 Expr(...)。在这种情况下,dtp_script 引用的表达式。我希望这是清楚的。您可以在脚本索引(帮助 -> 脚本索引)或脚本指南(帮助 -> JMP 文档库)中阅读有关表达式操作的更多信息。