在JSL中使用“制作成矩阵”嗨伙计,
我想将报告中的表格(多变量 -> 多变量)提取到矩阵中,作为脚本的一部分。 目前我正在处理这个:
collist = {:"X1", :"X2", :"X3", :"X4", :"X5"};
cor = Eval(Eval Expr(Multivariate(
Y( Expr(collist)),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 )
)));
r = (col <<REPORT> </REPORT>
遗憾的是,没有关于“制作成矩阵”消息的文档(?),我无法弄清楚如何在不出现对话框的情况下将结果矩阵存储在变量中。
目前我将使用“Make into Table”。 但如果知道如何使用“制作成矩阵”那就太好了。
干杯,
塞巴斯蒂安
回复:在 JSL 中使用“制作成矩阵”谢谢,您的评论为我指明了正确的道路。它看起来仍然不如将矩阵存储为全局变量的一键方法那么优雅,但我的脚本正在运行,这才是最重要的!
回复:在 JSL 中使用“制作成矩阵”您可以通过以下方式查看 Number Col Box() 可用的所有消息:
帮助==>脚本索引==>数字列框
你会看到一个
对象 << 得到
将从 Number Col Box() 中取出数据向量。或者您可能想查看上一级的 Table Box() 对象(Number Col Box() 是该对象的一个元素),并查看它可以使用哪些消息。
回复:在 JSL 中使用“制作成矩阵”我尝试将此技术应用于双变量拟合平台以检索参数估计值。然而,这些值并不在 MatrixBox(1) 中,而是,他们是在数字列框( 13 )我在尝试检索它们时遇到错误。我可以手动将整个集合存储为全局变量并从结果矩阵中检索值,但我还没有找到任何方法通过 jsl 来做到这一点。
回复:在 JSL 中使用“制作成矩阵”有解决方法是件好事。
但是,正如 Sebastian 指出的那样,“Make Into Matrix”并未作为可以发送到“MatrixBox()”的消息出现在脚本索引中(并且编辑器工具提示给出“对象的未知消息”)。 然而,它确实作为 UI 中的上下文选择出现,并且可以通过 JSL 发送消息(两者都提供他提到的模式对话框)。
使用 Mark(或 JIm)的方法,可以在脚本中复制对话框的功能,但它仍然有点奇怪。
回复:在 JSL 中使用“制作成矩阵”非常感谢,马克。 这正是我所寻找的。
回复:在 JSL 中使用“制作成矩阵”dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
multi var = dt << Multivariate(
Y( :Age, :Weight, :Oxy, :Runtime, :RunPulse, :RstPulse, :MaxPulse ),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix(
Density Ellipses( 1 ),
Shaded Ellipses( 0 ),
Ellipse Color( 3 )
)
);
multi var rep = multi var << Report;
corr = multi var rep["Correlations"][MatrixBox(1)] << Get;
回复:在 JSL 中使用“制作成矩阵”此代码将绕过该对话框。 它使用标准和记录的 JSL 组件
names default to here(1);
dt=open("$SAMPLE_DATA\semiconductor capability.jmp");
collist = {:"NPN1", :"PNP1", :"NPN2", :"PNP2", :"NPN3"};
cor = Eval(Eval Expr(Multivariate(//invisible,
Y( Expr(collist)),
Estimation Method( "Row-wise" ),
Matrix Format( "Square" ),
Scatterplot Matrix( 0 )
)));
r = ((cor <<REPORT></REPORT>