JSL 脚本,用于创建 Y vs X by A 的多个图,并使用限制表来创建控制图我有一个 JMP 表,其中有 5 列
ColA 是分类列。 ColA 可以有不同的值组。 然而,对于 ColA LCL 和 UCL 中的每组值都是相同的,我的意思是这样的:(比如说)
仅使用 A 列中的 2 组样本数据
Col A LCL UCL Y X
5 10 9 PQR1
5 10 11 PQR2
b 17 25 12 ABC1
b 17 25 14 ABC1
b 17 25 19 ABC1
所以我想通过 Col A 绘制 Y 与 X (在本例中为箱线图)。 所以这应该生成两个图(一个用于 a,另一个用于 b)。 不过,我想创建一个 JSL 脚本来为每个图创建两个不同的控制图。 对于情况 a ( 5,10) 和情况 b ( 17, 25) 。
我知道这在 JMP 中很简单。 但就我而言,我正在动态生成数据,我不知道有多少组以及 LCL/UCL 是什么。 所以需要有一个脚本来完成这个任务。 尝试了解如何使用 JSL 解决此问题。
回复:JSL 脚本用于通过 A 创建 Y 与 X 的多个图,并使用限制表来创建控制通道精彩的!! 工作起来就像一个魅力! 谢谢回复:JSL 脚本用于通过 A 创建 Y 与 X 的多个图,并使用限制表来创建控制通道您的添加参考线语法不正确。它要么必须作为“发送到报告”结构包含在 Oneway 平台定义中,要么在事后添加,将“添加参考线”消息发送到报告 AxisBox,如下所示
Names Default To Here( 1 );
dt = Current Data Table();
Summarize( groupid = by( :Col A ) );
map_l = Associative Array( :Col A, :LCL );
map_u = Associative Array( :Col A, :UCL );
For( i = 1, i <= N Items( groupid ), i++,
idname = Char( groupid[i] );
df = dt << Oneway(
Y( :Y ),
X( :X ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
Where( :Col A == idname )
);
Report( df )[AxisBox( 1 )] <<
Add Ref Line( map_u[idname], "Dashed", "Black", "UCL", 1 );
Report( df )[AxisBox( 1 )] <<
Add Ref Line( map_l[idname], "Dashed", "Black", "LCL", 1 );
);
回复:JSL 脚本用于通过 A 创建 Y 与 X 的多个图,并使用限制表来创建控制通道谢谢,吉姆...
好吧,我将始终根据分组列绘制 Y 与 X 的关系(在本例中为 A 列)...
我还没打算使用任何平台。
我解决这个问题的方法是根据组创建一个关联数组,然后创建一个循环。 但这也不起作用。 我已粘贴下面的代码片段。
dt = Current Data Table();
summarize(groupid=by(:Col A));
map_l = Associative Array( :Col A, :LCL );
map_u = Associative Array( :Col A, :UCL );
for(i=1, i<= N Items(groupid), i++,
idname = char(groupid[i]);
df = dt << Oneway(
Y( :Y ),
X( :X ),
Box Plots( 1 ),
Mean Diamonds( 1 ),
Where( :Col A == idname ),
Add Ref Line(map_u[idname] , "Dashed", "Black", "UCL", 1 ),
Add Ref Line(map_l[idname] , "Dashed", "Black", "LCL", 1 )
)
)
回复:JSL 脚本用于通过 A 创建 Y 与 X 的多个图,并使用限制表来创建控制通道不同的图表有不同的控制限,需要在列中设置它们才能对图表生效。 您是否始终使用特定类型的图表,还是需要将表中的限制设置为每种限制类型(XBar、个人...)? 您将使用控制聊天生成器平台还是控制图平台?