你好。 我一直在编写脚本来自动可视化分布、拟合分布和报告 cpk。 我刚刚完成了一篇长篇文章,确实发现一些发行版的名称必须如何使用方面存在很多差异。 这需要大量的调试。 我的要求并不小,但我希望 JSL 能够使发行版名称的使用更加一致,以便使编写脚本更加高效且减少混乱。 我将在下面提供示例。
我的脚本采用分布名称列表 {"Exponential"、"Normal 2 Mixture"、"Johnson SU"、...},并首先生成一个随机数据表,每个分布有一列。 然后,它创建分布图,拟合数据,提取每个分布的拟合参数。 它还使用过程能力平台来计算 cpk。 我非常依赖创建 JSL Quotes,然后替换所需的发行版名称来获取我需要的确切代码。
问题:
- 当我最初想生成随机数据矩阵时,我需要使用“Exp”而不是“Exponential”,使用“Normal Mixture”而不是“Normal 2 Mixture”。
</CODE><CODE class=" language-jsl">J(100, 1, Random<FONT color="#FF0000"><STRONG>Exp</STRONG></FONT>(...));<BR />J(100, 1, Random<FONT color="#FF0000"><STRONG>NormalMixture</STRONG></FONT>(...));<BR />J(100, 1, Random<FONT color="#FF0000"><STRONG>JohnsonSB</STRONG></FONT>(...));
- 另一方面,为了适应我的数据的分布,我需要使用“Exponential”而不是“Exp”,“Normal 2 Mixture”而不是“Normal Mixture”,以及“Johnson”而不是“Johnson SB”:
dt << Distribution(
Continuous Distribution(
Column(:colname1),
Fit <FONT color="#FF0000"><STRONG>Exponential,</STRONG></FONT>
Fit <FONT color="#FF0000"><STRONG>Normal 2 Mixture,</STRONG></FONT>
Fit <FONT color="#FF0000"><STRONG>Johnson</STRONG></FONT>
)
)
- 过程能力平台中 Normal 2 Mixture 的另一个命名方案:
pc = dt << Process Capability(
Process Variables(
:colname1 & Dist(<FONT color="#FF0000"><STRONG>Exponential</STRONG></FONT>),
:colname2 & Dist(<FONT color="#FF0000"><STRONG>Mixture of 2 Normals</STRONG></FONT>),
:colname3 & Dist(<FONT color="#FF0000"><STRONG>Johnson</STRONG></FONT>),
)
)
我最初希望我可以为我的脚本提供一个要尝试的发行版名称列表,然后对列表进行 for 循环,将特定名称添加到 JSL Quote,然后执行。 相反,我发现了一个困难的方法,我需要创建几个 if 子句来在替换之前修复每个不同操作的发行版名称。
如果所有这些都可以通过仅使用一组用于所有功能和平台的发行版名称来简化,那就太好了。 谢谢。
[使用 JMP Pro 17.2.0]