从图形生成器中的箱线图获取 5 个数字摘要的值嘿 JMP 社区,
我需要有关 JSL 脚本的帮助。 我想在图形生成器中使用箱线图“5 数字摘要”中的多个值。 您知道如何获取列表或矩阵中的这些值 - fe 吗?在图表构建后使用这些?

BR 提前谢谢你
自动化和脚本编写回复:从图形生成器中的箱线图获取 5 个数字摘要的值这个例子应该为您提供基本的想法和方法:
Names Default to Here( 1 );
// example of data
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// launch platform and analyze separately by :sex and save reference to analysis layer
dist = dt << Distribution( Y( :weight ), By( :sex ) );
// get reference to report layer
rpt = dist << Report;
// get reference to all Qunatiles outline boxes
quantile table = rpt << XPath( "//OutlineBox[text()='Quantiles']" );
n rpts = N Items( quantile table );
// prepare empty container for all five-point summaries
summary = J( 5, n rpts, . );
// iterate over all Quantile reports
For( r = 1, r <= n rpts, r++,
summary[0,r] = Matrix( (quantile table[r])[1][NumberColBox(1)] << Get( { 11, 7, 6, 5, 1 } ) );
);
// survace matrix as a new data table
As Table( summary );
dist << Close Window;回复:从图形生成器中的箱线图获取 5 个数字摘要的值谢谢。 我已经在脚本中测试了按功能分组,但结果没有达到预期... 我已经适应了@马克贝利s 脚本: dist << Group By (X (:性别));
有什么建议吗?这里可能有什么问题?
BR 提前谢谢你
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = dt << Distribution( Y( :weight ), Invisible );
dist << Group By (X( :Sex));
rpt = dist << Report;
five pt summary = { min, q1, med, q3, max } = rpt["Quantiles"][NumberColBox(1)] << Get( { 11, 7, 6, 5, 1 });
dist << Close Window;
回复:从图形生成器中的箱线图获取 5 个数字摘要的值添加分组或“by”变量使得方法@马克贝利稍微复杂一点(但完全可行)。 不过,作为替代方案,您可以在此基础上进行构建:
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
Summarize( exg = By( :sex ), exm = Mean( :height ), exMax = Max(:height) );
Print(exg, exm, exMax);
回复:从图形生成器中的箱线图获取 5 个数字摘要的值非常感谢您的回复,这确实对我有帮助。 我只剩下一个悬而未决的问题:当我创建分布时,所有盒子中的所有值都会放在一起。 是否可以选择为不同的 X 值创建分布? 我尝试在你的帖子上面的例子中解释它。 有 5 个用于不同 x 值的框(此处为 EC1、EC2、LS20,...) 是否可以为每个不同的 X 值创建这些分布?
BR
回复:从图形生成器中的箱线图获取 5 个数字摘要的值我不会尝试从图形生成器中提取此信息。 我会使用另一个平台。 分布平台会为您计算这些分位数。 您可以将其作为隐形平台打开,提取值,然后将其关闭。 看这个例子:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = dt << Distribution( Y( :weight ), Invisible );
rpt = dist << Report;
five pt summary = { min, q1, med, q3, max } = rpt["Quantiles"][NumberColBox(1)] << Get( { 11, 7, 6, 5, 1 });
dist << Close Window;