Skript für Standardabweichung basierend auf +/- 1,5 SigmaHallo,
Ich berechne die Standardabweichung gerne anhand der Betrachtung von Daten mit Wertebereichen (+/- 1,5 Sigma). Gibt es jemanden, dem Sie das in JMP ermöglichen können?
Ich schätze Ihre Hilfe. Danke
Betreff: Skript für Standardabweichung basierend auf +/- 1,5 SigmaDanke Jim. Es ist sehr hilfreich.
Betreff: Skript für Standardabweichung basierend auf +/- 1,5 SigmaDanke Dave.
Betreff: Skript für Standardabweichung basierend auf +/- 1,5 SigmaDas Problem, auf das Sie stoßen, besteht darin, dass Sie in die Formel keinen Spaltennamen wie NPN1 eingefügt haben, sondern eine Literalzeichenfolge von „NPN“.Mit der Substitute-Funktion kann man „NPN1“ nehmen und in :NPN1 ersetzen.
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 );
)
);
Und hier ist eine weitere Möglichkeit, anzugeben, dass die Literalzeichenfolge als Spaltenname behandelt werden soll
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 );
);Betreff: Skript für Standardabweichung basierend auf +/- 1,5 SigmaDas Argument für Col Std Dev muss eine Spaltenreferenz sein, nicht der Zeichenfolgenname.Mit der Column-Funktion können Sie eine Spaltenreferenz aus dem String-Namen generieren:
sigma = Col Std Dev( Column( lstNames[i]) );
Betreff: Skript für Standardabweichung basierend auf +/- 1,5 SigmaHallo Jim,
Ich bin Ihrem Skript gefolgt und habe eine Liste von Spalten hinzugefügt, um dieses spezielle Sigma zu berechnen. Wenn ich das Skript ausführe, erhalte ich
Sigma = .;
spezieller std dev = .;
Sigma = .;
spezieller std dev = .;
Sigma = .;
Hier ist das Skript:
Namen standardmäßig hier ( 1 );
dt = Offen ( „$SAMPLE_DATA/semiconductor Capability.jmp“ );
Aktuelle Datentabelle ();
lstNames = dt << Spaltennamen abrufen (String,Numerisch);
für (ich = 1 , ich <= N Artikel (lstNames), i++,
Wenn ( enthält (lstNames[i], „NP“ ) == 1 ,
Sigma = Col Std Dev ( lstNames[i]);
spezieller std dev = Col Std Dev ( Wenn ( ( ( Col Mean ( lstNames[i] ) - 1.5 *Sigma) <= lstNames[i] | lstNames[i] >= ( Col Mean ( lstNames[i] ) + 1.5 *Sigma), . ,lstNames[i] ) );
Zeigen (Sigma, spezielle Standardentwicklung);
)
);
Ich schätze Ihre Hilfe. Danke
@BEI schrieb:
Danke Jim für das schnelle Feedback und die Lösung. Das ist es, was ich will. Ich auch
@txnelson schrieb:
Ist es das, was Sie wollen?
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 );
Ich möchte dies für viele Spalten in einer Datentabelle tun und dann eine neue Spalte mit Pass- oder Fail-Werten erstellen. Ich gehe davon aus, dass die Spezifikationsgrenzen für jede Spalte aus einer Datentabelle gelesen werden können und dann eine neue Spalte mit „Bestanden“ oder „Nicht bestanden“ basierend auf den Kontrollgrenzen erstellt werden kann.
Wenn jemand diese Art von Arbeit gemacht hat, bin ich daran interessiert, daraus zu lernen. Danke
Betreff: Skript für Standardabweichung basierend auf +/- 1,5 SigmaDanke Jim für das schnelle Feedback und die Lösung. Das ist es, was ich will. Ich auch
@txnelson schrieb:
Ist es das, was Sie wollen?
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 );
Ich möchte dies für viele Spalten in einer Datentabelle tun und dann eine neue Spalte mit Pass- oder Fail-Werten erstellen. Ich gehe davon aus, dass die Spezifikationsgrenzen für jede Spalte aus einer Datentabelle gelesen werden können und dann eine neue Spalte mit „Bestanden“ oder „Nicht bestanden“ basierend auf den Kontrollgrenzen erstellt werden kann.
Wenn jemand diese Art von Arbeit gemacht hat, bin ich daran interessiert, daraus zu lernen. Danke
Betreff: Skript für Standardabweichung basierend auf +/- 1,5 SigmaIst es das, was Sie wollen?
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 );