+/- 1.5 シグマに基づく標準偏差のスクリプトやあ、
私は、値の範囲 (+/- 1.5 シグマ) を持つデータを見て標準偏差を計算するのが好きです。 JMP でそれを達成できる人はいますか?
私はあなたの助けに感謝します。 ありがとう
Re: +/- 1.5 シグマに基づく標準偏差のスクリプトありがとうジム。 とても助かります。
Re: +/- 1.5 シグマに基づく標準偏差のスクリプトありがとうデイブ。
Re: +/- 1.5 シグマに基づく標準偏差のスクリプトあなたが直面している問題は、NPN1 のような列名ではなく、「NPN」というリテラル文字列を数式に入れていることです。Substitute 機能を使用すると、「NPN1」を取得して :NPN1 に置き換えることができます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
Current Data Table();
lstNames = dt << Get Column Names( string, Numeric );
For( i = 1, i <= N Items( lstNames ), i++,
If( Contains( lstNames[i], "NP" ) == 1,
sigma = Col Std Dev( Column( dt, lstNames[i] ) );
Eval(
Substitute(
Expr(
special std dev = Col Std Dev(
If( (Col Mean( __col__ ) - 1.5 * sigma) <= __col__ | __col__ >= (Col Mean( __col__ ) + 1.5 * sigma),
.,
__col__
)
)
),
Expr( __col__ ), Parse( ":" || lstNames[i] )
)
);
Show( sigma, special std dev );
)
);
ここでは、リテラル文字列を列名として扱うように指定する別の方法を示します。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
Current Data Table();
lstNames = dt << Get Column Names( string, Numeric );
For( i = 1, i <= N Items( lstNames ), i++,
If( Contains( lstNames[i], "NP" ) == 1,
sigma = Col Std Dev( Column( dt, lstNames[i] ) );
special std dev = Col Std Dev(
If(
(Col Mean( As Column( lstNames[i] ) ) - 1.5 * sigma) <= As Column( lstNames[i] ) | As Column( lstNames[i] ) >= (
Col Mean( As Column( lstNames[i] ) ) + 1.5 * sigma),
.,
As Column( lstNames[i] )
)
);
);
Show( sigma, special std dev );
);Re: +/- 1.5 シグマに基づく標準偏差のスクリプトCol Std Dev への引数は文字列名ではなく列参照である必要があります。Column 関数を使用して、文字列名から列参照を生成できます。
sigma = Col Std Dev( Column( lstNames[i]) );
Re: +/- 1.5 シグマに基づく標準偏差のスクリプトこんにちは、ジムさん
私はあなたのスクリプトに従い、この特別なシグマを計算するための列のリストを追加しました。 スクリプトを実行すると、次のようになります
シグマ = .;
特別な標準開発 = .;
シグマ = .;
特別な標準開発 = .;
シグマ = .;
スクリプトは次のとおりです。
デフォルトの名前はここにあります( 1 );
dt =開ける( "$SAMPLE_DATA/半導体能力.jmp" );
現在のデータテーブル();
lstNames = dt <<列名の取得(文字列、数値);
ために(i = 1 、私<= N 個のアイテム(lstNames)、i++、
もしも(含まれています(lstNames[i], 「NP」 ) == 1 、
シグマ = Col 標準開発( lstNames[i]);
特別な標準開発 = Col 標準開発(もしも( (コル・ミーン( lstNames[i] ) - 1.5 *シグマ) <= lstNames[i] | lstNames[i] >= (コル・ミーン( lstNames[i] ) + 1.5 *シグマ)、 。 ,lstNames[i] ) );
見せる(シグマ、特別な標準開発);
)
);
私はあなたの助けに感謝します。 ありがとう
@で書きました:
Jim の素早いフィードバックと解決策に感謝します。 これが私が欲しいものです。 私もまた
@txnelson書きました:
これが欲しいものですか>
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
sigma = Col Std Dev( :npn1 );
special std dev = Col Std Dev( If( (Col Mean( :npn1 ) - 1.5*sigma) <= :npn1 | :npn1 >= (Col Mean( :npn1 ) + 1.5*sigma), ., :npn1 ) );
Show( sigma, special std dev );
データテーブル内の多くの列に対してこれを実行し、合格または不合格の値を含む新しい列を作成するのが良いでしょう。 各列の仕様限界をデータ テーブルから読み取り、管理限界に基づいて「合格」または「不合格」の新しい列を読み取ることができるとします。
誰かがこの種の仕事をしたことがあれば、私はそこから学ぶことに興味があります。 ありがとう
Re: +/- 1.5 シグマに基づく標準偏差のスクリプトJim の素早いフィードバックと解決策に感謝します。 これが私が欲しいものです。 私もまた
@txnelson書きました:
これが欲しいものですか>
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
sigma = Col Std Dev( :npn1 );
special std dev = Col Std Dev( If( (Col Mean( :npn1 ) - 1.5*sigma) <= :npn1 | :npn1 >= (Col Mean( :npn1 ) + 1.5*sigma), ., :npn1 ) );
Show( sigma, special std dev );
データテーブル内の多くの列に対してこれを実行し、合格または不合格の値を含む新しい列を作成するのが良いでしょう。 各列の仕様限界をデータ テーブルから読み取り、管理限界に基づいて「合格」または「不合格」の新しい列を読み取ることができるとします。
誰かがこの種の仕事をしたことがあれば、私はそこから学ぶことに興味があります。 ありがとう
Re: +/- 1.5 シグマに基づく標準偏差のスクリプトこれが欲しいものですか>
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
sigma = Col Std Dev( :npn1 );
special std dev = Col Std Dev( If( (Col Mean( :npn1 ) - 1.5*sigma) <= :npn1 | :npn1 >= (Col Mean( :npn1 ) + 1.5*sigma), ., :npn1 ) );
Show( sigma, special std dev );