Function() 和 Expr() 之间的区别。 后姆夏普昨天回答了我的问题,我意识到我一直在做错事。 目前,每个输出(无论是图形图还是分布)都有其自己的单独的 Expr(),其中包含 3 个不同的迭代。 简而言之,大约有 20 个 Expr() 脚本。 使用函数的能力会将其减少为一个图形绘制脚本和一个分布脚本。 我现在遇到的困难是循环该函数。
我已附上示例数据表,这是我用来绘制图形的表达式之一的示例以及函数脚本的开头。 我将感谢解决这个问题的任何帮助。 我可以使用该问题的解决方案并应用于许多其他问题。 您可以运行原始脚本来了解我正在尝试做什么。
谢谢
PS,如果你有时间,我正在尝试将这 3 个期刊合并成一个期刊。 我正在尝试返回到此线程上发布的脚本
https://community.jmp.com/t5/Discussions/Combine-multiple-journals-into-one-journal/td-p/6129
谢谢纳尔逊先生,
我非常感谢您和社区提供的帮助。 我必须告诉你,一般来说,编码对我来说是非常新鲜和困难的。 您正在与一个在 C++ 中获得“C”并使用它运行的人交谈。 我每花一个小时编码,就会花 3 个小时阅读脚本指南、使用脚本索引,当然还有阅读论坛。 由于我对编码总体上一无所知,然后试图将其转换为 JSL,所以我花费了大量的时间在自己的学习上。 我通常会花时间阅读此处发布的代码,并尝试回到我正在尝试做的事情。我报名参加网络研讨会是为了了解更多信息,尤其是在 JMP 14 在不久的将来推出时了解它。 如果我比其他人问了太多问题并寻求更多帮助,我深表歉意。
话虽如此,再次感谢您的帮助。
首先,如果您打算进行 JSL 编码,您需要仔细阅读脚本指南
帮助==>书籍==>脚本指南
下面是对脚本的修改,以说明如何使用函数循环以及如何将所有输出保留在同一输出日志中。我知道这并不完全是您所需要的,但它应该为您提供一个良好的开端,让您了解如何做您想做的事情
Names Default To Here( 1 );
dt = Current Data Table();
doGraphPlot = Function(
{dt, Xaxis, Yaxis, Grby, chnl},
Eval(
Substitute(
Expr(
gb = dt << Graph Builder(
invisible,
where( dt:Channel == __chnl__ ),
size( 600, 400 ),
show control panel( 0 ),
variables(
Y( Eval( Yaxis ) ),
X( Eval( Xaxis ) ),
Group X( Eval( Xgrby ) ),
Overlay( :RowCol )
),
elements( smoother( X, Y, legend( 19 ), lambda( 0.0001 ) ) )
)
),
Expr( __chnl__ ), chnl
)
);
Report( gb )[Outline Box( 1 )] << set title( "Channel = " || Char( chnl ) );
);
jjrn = New Window( "Data Plot - Output_1 vs Input", <<JOURNAL></JOURNAL>