從圖形生成器中的箱線圖獲取 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;