JSL per valutare l'intervallo di tolleranza USL e LSL dopo il calcoloCIAO,
Quindi voglio scrivere uno script che calcolerà un intervallo di tolleranza con una copertura del 99%, alfa = 0,95, su una colonna di dati.
Una volta fatto ciò, voglio accedere/valutare USL e LSL da utilizzare per nascondere/escludere valori che non rientrano in tali limiti.
Il motivo per cui lo sto facendo è che ho due colonne di dati che ho impilato insieme e voglio produrre box plot affiancati.
Ma quando li produco ci sono importanti valori anomali nei box plot che causano un ridimensionamento inadeguato degli assi. Ci saranno solo una manciata di questi importanti valori anomali, quindi non ho problemi a sbarazzarmi di loro
Sono abbastanza nuovo in JMP quindi ogni aiuto è apprezzato. Se pensi che esista un modo migliore/più semplice per raggiungere questo obiettivo, sarebbe fantastico.
Oggetto: JSL per valutare l'intervallo di tolleranza USL e LSL dopo il calcoloGrazie! Apprezzo molto l'aiuto! Mi scuso per il ritardo nell'accettare la risposta, non sono tornato a lavorare sulla sceneggiatura fino ad oggi.Oggetto: JSL per valutare l'intervallo di tolleranza USL e LSL dopo il calcoloIan è più veloce di me. Di seguito è riportato uno script per i dati in pila.
Come alludeva Ian, è necessario saperne di più su JSL per selezionare e ottenere valori da tabelle e report.Per essere preparato per il tuo prossimo script dovresti leggere i capitoli Aiuto> Libri> Guida allo scripting "Piattaforme di scripting" e "Alberi di visualizzazione". Ciò ti aiuterà a comprendere la struttura nidificata dei report JMP e ad apprendere la sintassi per navigare, fare riferimento e ottenere.
Tieni presente che lo script di Ian svuota i valori. Questo script ne mantiene il valore, ma li esclude dalle analisi.
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>Oggetto: JSL per valutare l'intervallo di tolleranza USL e LSL dopo il calcoloOk, Danny. A volte è possibile ottenere direttamente i valori richiesti, a volte è necessario accedere al livello del report per ottenerli (prova "Aiuto > Libri > Guida allo scripting").
Questo codice dovrebbe aiutarti a iniziare:
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);
Oggetto: JSL per valutare l'intervallo di tolleranza USL e LSL dopo il calcoloCiao Ian, grazie per la risposta. So come scrivere lo script che genererà il rapporto di distribuzione e calcolerà l'intervallo di tolleranza. È la parte successiva su cui sono bloccato. Quando faccio in modo che JMP generi uno script per l'intervallo di tolleranza, questo è ciò che mi dà:
Distribution(
Continuous Distribution(
Column( :Data ),
Tolerance Interval( Alpha( 0.95 ), Proportion( 0.99 ) )
)
)
Quindi puoi vedere, a questo punto del mio script non conosco la mia USL e LSL.Ho bisogno che il mio script legga in qualche modo quali sono gli USL/LSL dell'intervallo di tolleranza appena calcolato e quindi escluda/elimini le righe di conseguenza.
Oggetto: JSL per valutare l'intervallo di tolleranza USL e LSL dopo il calcoloNo, voglio utilizzare i limiti di tolleranza come limiti di specifica.
Oggetto: JSL per valutare l'intervallo di tolleranza USL e LSL dopo il calcoloAnche se vuoi scrivere qualcosa, è bene farlo manualmente una volta, soprattutto perché JMP genererà spesso codice che puoi utilizzare.
Con questo in mente, dai un'occhiata Qui per vedere come ottenere gli intervalli di tolleranza tramite 'Analizza > Distribuzione'. Una volta ottenuti questi valori, potresti, ad esempio, utilizzare "Righe > Selezione riga > Seleziona dove". . .', seguito da 'Righe > Elimina righe'.
Oggetto: JSL per valutare l'intervallo di tolleranza USL e LSL dopo il calcoloI limiti di tolleranza e i limiti delle specifiche sono diversi?