計算後の公差区間 USL および LSL を評価するための JSLこんにちは、
そこで、データ列のカバレッジ 99%、アルファ = 0.95 の許容範囲を計算するスクリプトを作成したいと思います。
これが完了したら、制限外の値を非表示/除外するために使用する USL と LSL にアクセス/評価したいと思います。
これを行う理由は、積み上げた 2 つのデータ列があり、並べて箱ひげ図を作成したいためです。
しかし、これらを作成すると、箱ひげ図に大きな外れ値があり、軸のスケーリングが適切に行われなくなります。 このような重大な外れ値はほんの一握りであるため、それらを取り除くだけで問題はありません
私は JMP にあまり慣れていないので、助けていただければ幸いです。 これを達成するためのより良い/より簡単な方法があると思われる場合も、それは素晴らしいことです。
Re: 計算後の公差区間 USL および LSL を評価するための JSLありがとう! 大変助かりました! 返事が遅くなり申し訳ありませんが、今日まで脚本の作業に戻っていませんでした。Re: 計算後の公差区間 USL および LSL を評価するための JSLイアンは私より速いです。 以下はスタックされたデータのスクリプトです。
Ian がほのめかしたように、テーブルやレポートから値を選択して取得するには、JSL をさらに学ぶ必要があります。次のスクリプトの準備をするには、[ヘルプ] > [ブック] > [スクリプト ガイド] の章「スクリプト プラットフォーム」と「表示ツリー」を読んでください。 これは、JMP レポートの入れ子構造を理解し、移動、参照、取得するための構文を学ぶのに役立ちます。
Ian のスクリプトでは値が空であることに注意してください。 このスクリプトはそれらの値を維持しますが、分析からは除外します。
Names default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt_stck = dt << Stack(
columns( :height, :weight ),
Source Label Column( "Var" ),
Stacked Data Column( "Data" )
);
close(dt,NoSave);
obj = Distribution( Column( :Data ), By(:Var) );
//using a lower proportion, .80, to screen something
obj << Tolerance Interval( Alpha( 0.95 ), Proportion( 0.8 ) );
tol_dt = report(obj[1])[OutlineBox(2)]["Tolerance Intervals"][TableBox(1)]<<MAKE combined="" data="https://community.jmp.com/" table=""> vhi) ) << hide and exclude(1);
dt_stck << clear select;
);
nw = New Window("Custom Display",
VListBox(
onew = dt_stck << Oneway( Y(:Data), X(:Var)),
text box(),
dbb = tol_dt <<NEW data="https://community.jmp.com/" box=""></NEW></MAKE>Re: 計算後の公差区間 USL および LSL を評価するための JSLオーケー、ダニー。 必要な値を直接取得できる場合もありますが、値を取得するためにレポート レイヤーにアクセスする必要がある場合もあります ([ヘルプ] > [ブック] > [スクリプト ガイド] を試してください)。
このコードを使用して作業を開始します。
NamesDefaultToHere(1);
// Do the Distribution
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = dt << Distribution( Column( :Height ) );
// Add tolerance intervals (search for the latter using 'Help > Scripting Guide')
dist << Tolerance Interval(Alpha( 0.95 ), Proportion( 0.85 ));
// Get the report layer
distRep = dist << Report;
// Dig out the required values (do 'Show Tree Structure' to see how the report is made up)
lt = distRep[NumberColBox(5)] << get;
ut = distRep[NumberColBox(6)] << get;
// Set extreme values to missing
vals = Column(dt, "Height") << getValues;
vals[Loc(vals < lt[1] | vals > ut[1] )] = .;
Column(dt, "Height") << setValues(vals);
Re: 計算後の公差区間 USL および LSL を評価するための JSLこんにちはイアン、返信ありがとうございます。 分布レポートを生成し、許容範囲を計算するスクリプトの書き方を理解しています。 私が行き詰まっているのは次の部分です。 JMP に許容範囲のスクリプトを生成させると、次のようになります。
Distribution(
Continuous Distribution(
Column( :Data ),
Tolerance Interval( Alpha( 0.95 ), Proportion( 0.99 ) )
)
)
ご覧のとおり、スクリプトのこの時点では、USL と LSL がわかりません。スクリプトで計算した許容範囲の USL/LSL を何らかの方法で読み取り、それに応じて行を除外/削除する必要があります。
Re: 計算後の公差区間 USL および LSL を評価するための JSLいいえ、許容限界を仕様限界として使用したいのです。
Re: 計算後の公差区間 USL および LSL を評価するための JSL何かをスクリプト化したい場合でも、特に JMP は使用できるコードを生成することが多いため、一度手動で実行することをお勧めします。
それを念頭に置いて見てくださいここ「分析 > 分布」で許容範囲を取得する方法を確認してください。 これらの値を取得したら、たとえば、「行 > 行選択 > 場所を選択」を使用できます。 。 .」に続いて「行 > 行の削除」を選択します。
Re: 計算後の公差区間 USL および LSL を評価するための JSL公差限界と仕様限界は異なりますか?