JSL para evaluar el intervalo de tolerancia USL y LSL después del cálculo Hola,
Así que quiero escribir un script que calcule un intervalo de tolerancia con una cobertura del 99%, alfa = 0,95, en una columna de datos.
Una vez que haya hecho esto, quiero acceder / evaluar la USL y la LSL que se utilizará para ocultar / excluir valores que caen fuera de esos límites.
La razón por la que hago esto es que tengo dos columnas de datos que he apilado juntos, y quiero producir diagramas de caja lado a lado.
Pero cuando los produzco, hay grandes valores atípicos en los diagramas de caja que hacen que los ejes se ajusten pobremente. Solo habrá un puñado de estos valores atípicos principales, por lo que no hay ningún problema para mí simplemente deshacerme de ellos.
Soy bastante nuevo en JMP por lo que cualquier ayuda es apreciada. Si crees que hay una forma mejor / más fácil de lograr esto, también sería genial.
Re: JSL para evaluar el intervalo de tolerancia USL y LSL después del cálculo¡Gracias! ¡Aprecio mucho la ayuda! Lamento la demora en aceptar la respuesta, no he vuelto a trabajar en el script hasta hoy.Re: JSL para evaluar el intervalo de tolerancia USL y LSL después del cálculoIan es más rápido que yo. A continuación hay un script para los datos apilados.
Como Ian aludía, debe aprender más JSL para seleccionar y obtener valores de tablas e informes. Para estar preparado para su próximo script, debe leer la Ayuda> Libros> Capítulos de la Guía de Scripting "Scripting Platforms" y "Display Trees". Esto le ayudará a comprender la estructura anidada de los informes JMP y aprender la sintaxis para navegar, consultar y obtener.
Tenga en cuenta que el script de Ian vacía los valores. Este script les mantiene sus valores, pero los excluye de los análisis.
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: JSL para evaluar el intervalo de tolerancia USL y LSL después del cálculoOk Danny A veces, puede obtener los valores requeridos directamente, y otras veces necesita acceder a la capa de informe para obtenerlos (pruebe 'Ayuda> Libros> Guía de scripting').
Este código debería ayudarte a comenzar:
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: JSL para evaluar el intervalo de tolerancia USL y LSL después del cálculoHola Ian, gracias por la respuesta. Sé cómo escribir el script que generará el informe de distribución y calcular el intervalo de tolerancia. Es la siguiente parte que estoy atascado. Cuando obtengo JMP para generar un script para el intervalo de tolerancia, esto es lo que me da:
Distribution(
Continuous Distribution(
Column( :Data ),
Tolerance Interval( Alpha( 0.95 ), Proportion( 0.99 ) )
)
)
Así que pueden ver, en este punto de mi script, no conozco mi USL y LSL. Necesito mi script para leer de alguna manera lo que es el USL / LSL del intervalo de tolerancia que acaba de calcular y luego excluir / eliminar filas en consecuencia.
Re: JSL para evaluar el intervalo de tolerancia USL y LSL después del cálculoNo, quiero usar los límites de tolerancia como límites de especificaciones.
Re: JSL para evaluar el intervalo de tolerancia USL y LSL después del cálculoIncluso si desea escribir algo, es bueno hacerlo a mano una vez, especialmente porque JMP a menudo generará un código que puede usar.
Con eso en mente, eche un vistazo aquí para ver cómo obtener los Intervalos de Tolerancia a través de 'Analizar> Distribución'. Una vez que tenga estos valores, podría, por ejemplo, usar 'Filas> Selección de fila> Seleccionar dónde. . . ', seguido de' Filas> Eliminar filas '.
Re: JSL para evaluar el intervalo de tolerancia USL y LSL después del cálculo¿Son los límites de tolerancia y los límites de especificaciones diferentes?