平台输出到 JSL 变量<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好
您可以将平台输出中的因子/数据/选择提取到 JSL 中吗?
我目前有两个脚本,我想将它们放在一起。 第一个导入 Excel 文件并使用“Fit Distribution (All)”创建分布脚本,以便用户可以选择最佳拟合类型并获取参数。 我可以让 JSL 读取用户选择的内容和参数吗? 我想我需要通过 JSL 创建一个包含分布和拟合的新窗口(现在我将脚本发送到通过打开 Excel 文件创建的数据表,然后运行它),然后有一个“继续”按钮在它下面。 我不知道该按钮要做什么才能获得选择的框和相应的参数,或者注意没有选择任何框,因此我可以通过矩阵与连续拟合函数运行随机采样或离散采样。
我正在做蒙特卡罗,需要每种类型的拟合和参数来为每种类型执行随机函数。
谢谢。
回复:平台输出到 JSL 变量谢谢@ian_jmp 。 这种树形结构可以帮助我理解我正在演奏的内容。 我迷失了 XPath 功能,但该链接将我带到了“获取 XML”,这也很有帮助。我遇到的问题是来自 '...[checkboxbox(1)]<回复:平台输出到 JSL 变量
关于“有没有办法看到……”的问题,打开报告窗口后,右键单击大纲节点并选择“编辑 > 显示树结构”。 您可能还想查看有关“XPath”的主题,例如这个。
回复:平台输出到 JSL 变量你好@杰夫·珀金森。 这段代码又恢复了活力,我正在尝试再次解决同样的问题。@多发性硬化症的解决方案在 JMP 11 中有效,但我无法让它在 JMP 13 中工作,因为命名约定似乎已更改(如预先警告的那样)。 不仅顺序发生了变化,而且发行版之间的顺序似乎也不相同 - 无论是按照它们在 GUI 中列出的顺序(通过AICc) 或任意顺序@多发性硬化症之前发现过(据我所知,请参见下面的示例)。
有没有一种方法可以查看报告的所有组成部分,以便我可以探索其中的数据并看看是否可以找出我需要的内容? 您如何知道“[tablebox(1)]”或“rdist[Outline Box(“Compare Distributions”)][1][1]”是有效语法? 多谢你们。 很抱歉从未将其标记为答案。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist1 = dt << Distribution( Continuous Distribution( Column( :height ), Fit Distribution( All ) ) );
dist2 = dt << Distribution( Continuous Distribution( Column( :weight ), Fit Distribution( All ) ) );
r1 = Report( dist1 );
r2 = Report( dist2 );
m1 = [];
For( i = 1, i <= 11, i++,
m1 = m1 || (r1[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
m2 = [];
For( i = 1, i <= 11, i++,
m2 = m2 || (r2[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
show(m1);
show(m2);
m1 的默认值为 Weibull,m2 的默认值为 LogNoraml
m1 = [0 0 0 0 0 0 1 0 0 0 0];
m2 = [0 0 0 0 1 0 0 0 0 0 0];
m1 = [];
For( i = 1, i <= 11, i++,
m1 = m1 || (r1[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
m2 = [];
For( i = 1, i <= 11, i++,
m2 = m2 || (r2[Outline Box( "Compare Distributions" )][1][1] << get( i ))
);
show(m1);
show(m2);
更改为每个选项的第二个选项,m1 为 ExtremeValue,m2 为 Gamma
m1 = [0 0 0 0 0 0 0 1 0 0 0];
m2 = [0 0 0 0 0 0 0 1 0 0 0];
回复:平台输出到 JSL 变量无论自动排序的结果如何,似乎都存在一种内部分布顺序。 如果该顺序稳定,则可以对其进行硬编码,如下例所示。 但是,请注意分布的数量以及顺序(和拼写?)在 JMP 的未来版本中可能会发生变化。
该代码在 JMP 11 中适用于我。 选定的分布和参数估计分别作为键和值存储在关联数组中,但当然还有其他选项(例如数据表)。
dt =打开( “$SAMPLE_DATA/大类.jmp” ) ;
距离=分配(连续分布(柱子( :重量) ,拟合分布(全部) ) ,仅直方图) ;
// 按“真实”顺序排列的发行版名称列表
L = { “普通的” , “对数正常” , “2参数威布尔” , “指数” , “伽玛” , “苏强森” , “约翰逊·Sl” , 《广义对数》 , “极值” ,
“普通2混合物” , “普通3混合物” } ;
RDIST =报告(距离) ;
// 添加带有脚本的按钮。 手动选择后点击。
RDIST <<前置(
按钮盒( “完成后点击” ,
// 查找所选项目的真实位置(不是自动排序表显示的位置)
米= [] ;
为了(我= 1 ,我<= 11 ,我++,
米=米|| ( RDIST [轮廓盒( “比较分布” )][ 1 ][ 1 ] <<得到(我))
) ;
自私主义者=如果( N 行(洛克(米) ) > 1 ,
L [洛克(米)] ,
评估清单( { L [洛克(米)]} )
) ; // 选定的分布
啊=关联数组() ; // 用于存储参数估计值
// 插入值
为了(我= 1 ,我<= N 行(洛克(米) ) ,我++,
啊<<插入项目(自私主义者[我] ,矩阵( RDIST [轮廓盒( “已装” ||自私主义者[我] )][编号栏框( “估计” )] <<得到) )
) ;
展示(自我主义者) ;
展示(啊) ;
)
) ;
回复:平台输出到 JSL 变量嗨克劳斯,
我仍在努力弄清楚如何选中哪个复选框。
但是,如果您指望 JMP 选择最合适的选项,因为我们按 AICc 升序对该表进行排序,因此它将始终是第一个表,这样就可以工作:
dt=open("$SAMPLE_DATA/Big Class.jmp");
dist= dt << Distribution(
Continuous Distribution( Column( :height ), Fit Distribution( All ) )
);
r=report(dist);
disttype=r[outline box("Compare Distributions")][tablebox(1)][StringColBox(1)]<< get (1) ;
paramMatrix=r[outline box("?"||disttype)][outlinebox(1)][tablebox(1)][numberColBox(1)] << get as matrix;
paramList=r[outline box("?"||disttype)][outlinebox(1)][tablebox(1)][numberColBox(1)] << get;
show(disttype, paramMatrix, ParamList);
-杰夫
回复:平台输出到 JSL 变量更改标题看看是否可以得到帮助。 数据必须在那里,但我无法获取它。 我在创建显示窗口时尝试使用“显示属性”功能,但无法弄清楚如何拉回所检查的内容和参数值。 如果我创建自己的复选框列表和表格,我可以获得它们,但不能使用 JMP 来完成... 自己创建它不是一个选择,因为我需要平台来完成工作。
回复:JSL:从 Monte Carlo 的分发平台输出获取 JSL 的输入撞。
我想将下面红色的数据取回到JSL中。 我知道如何让 JSL 创建以下内容,但不知道如何获取用户选择的拟合函数,然后将该函数的参数返回到 JSL 中,对于每个分布。 谢谢。
