Extracción de los parámetros seleccionados por el usuario para X e Y al trazar gráficos de variabilidad<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Siendo realmente nuevo en scripting en jmp. Tengo una pregunta sobre esto, aquí hay un guión que escribí. Lo que intento hacer es que tengo dos tablas, la tabla uno contiene los límites de cada prueba, por ejemplo, (tenga en cuenta que la tabla real tiene unos pocos miles de pruebas, esto es solo un ejemplo)
tabla 1
| Prueba | Límite inferior | Limite superior |
|---|
| prueba 1 | 3 | 10 |
| prueba 2 | 3.4 | 12 |
| prueba 3 | 5 | 12 |
Y la otra tabla (pocos miles de columnas de largo) contiene los resultados de la prueba
Tabla 2
| Prueba 1 | Prueba 2 | Prueba 3 |
|---|
| 5 | 6 | 8 |
| 5 | 6.1 | 8.11 |
| 5.2 | 6.23 | 8.12 |
Y lo que me propongo hacer es trazar un gráfico de variabilidad para la segunda tabla para algunas pruebas seleccionadas (4 o 5), y me gustaría que el gráfico de variabilidad realice un seguimiento automático de las líneas de referencia basadas en los límites de la primera tabla: la superior y la inferior límite. Ahora estoy atrapado en esta situación en la que no sé cómo completar mi script. Actualmente se ve así, puedo obtener la línea de referencia para trazar en un punto fijo en, diga "1". Pero lo que quiero poder hacer es extraer cualquier prueba que el usuario decida trazar, y extraer los límites de la primera tabla de datos, y trazar los límites como una línea de referencia.
¿Hay una manera de extraer los parámetros seleccionados por el usuario (X e Y) del gráfico de variabilidad, y usar que la búsqueda de sus límites para trazar la línea de referencia? A partir de ahora, mi código se ve así
dt_data1 = Tabla de datos (1); // la tabla de límites
dt_data2 = Tabla de datos (2); // la tabla de datos real
// Inicio de la ventana GUI
// ------------------------------------------------ --------------------------------------------------
ColSel = Filtro Col Colector (Tabla de datos (dt_data1), 250, 10, ColumnToPlot = ColSel << Obtener seleccionado);
ColSel << Set Max Selected (2); // La columna seleccionada máxima permitida es 1
win = Nueva ventana ("Test",
<< modal,
Cuadro de texto ("Columnas para trazar el gráfico de variabilidad"),
Colel,
ir = caja de botones ("OK",
ColumnToPlot = ColSel << Obtener seleccionado
);
);
// ------------------------------------------------ -----------------------------------------------
// Fin de la ventana GUI
Espera (1);
Tabla de datos actuales (dt_data2);
Colnames = dt_data2 << Obtener nombres de columna (numérico, cadena);
LowerLimit = colnames [2];
UpperLimit = colnames [3];
Tabla de datos actuales (dt_data1);
Cuadro de variabilidad (
Max Iter (100),
Límite de conv. (0.00000001),
Integración de números Abscissas (128),
Evolución de la función del número (65536),
Tipo de análisis ("Elija el mejor análisis (EMS REML Bayesiano)"),
Puntos jittered (1),
Mostrar diagramas de caja (1),
Std Dev Chart (0),
Mostrar barras de rango (1),
SendToReport (
Envío(
"",
"2",
ScaleBox,
{Agregar línea de referencia (0, "Sólido", "Negro", "", 1),
Añadir línea de referencia (1, "Sólido", "Azul", "", 2); } // Reemplazar 1 por valor importado
)
)
);
Re: Extracción de los parámetros seleccionados por el usuario para X e Y al trazar gráficos de variabilidad¡Gracias por señalar que puedo utilizar las propiedades de la columna para establecer los límites de esa manera!
Re: Extracción de los parámetros seleccionados por el usuario para X e Y al trazar gráficos de variabilidadSi mueve los límites a la propiedad de columna de límites de especificación para cada una de las columnas en su tabla de datos de medición, desde la tabla de datos de límites, la plataforma del Gráfico de variabilidad mostrará automáticamente los límites.
Aquí hay un script que escribí recientemente para responder a una pregunta publicada sobre "Importación de límites de control". esta secuencia de comandos lee de una tabla de datos de límites y la mueve a una tabla de datos de medición.
// Antes de ejecutar este script, abra las tablas de datos de medición y límites.
// Si está utilizando los dos archivos que adjunté a la respuesta, dtmeas = y
// Las declaraciones dtlim = a continuación apuntan a la tabla de datos correcta. Pero si
// usa diferentes tablas de datos, necesita cambiar los nombres de la tabla de datos
Nombres predeterminados aquí ( 1 ) ;
dtmeas = Tabla de datos ( "Tabla de medidas" ) ;
dtlim = Tabla de datos ( "Tabla de límites" ) ;
// Dividir la tabla de datos según el código de calificación para que cada grupo esté en una posición diferente.
// columna
dtsplitmeas = dtmeas << División ( Dividir por ( : GRDBWT ) , División ( : Peso de la base ACC ) ) ;
// Obtenga los nombres de columna de la tabla de datos divididos, que son realmente los diferentes
// códigos de grado
cols = dtsplitmeas << obtener nombres de columna ( cuerda ) ;
// Recorra la tabla de datos dividida y lea los valores para esa columna en la
// tabla de datos dtlim. Rellenar los límites de especificación y los límites de control
por ( yo = 1 , yo <= N Cols ( dtsplitmeas ) , yo ++,
limbo = Tratar ( ( dtlim << obtener filas donde ( dtlim : Código de graduación == cols El yo ] )) [ 1 ] , . ) ;
Si ( Está perdido ( limRow ) == 0 ,
especificaciones = { LSL ( . ) , USL ( . ) , Objetivo ( . ) , Mostrar limites ( 1 )} ;
especificaciones El "LSL" ] = dtlim : BAJO El limbo ] ;
especificaciones El "Objetivo" ] = dtlim : TARG El limbo ] ;
especificaciones El "USL" ] = dtlim : ALTO El limbo ] ;
Columna ( dtsplitmeas , Carbonizarse ( cols El yo ] ) ) << establecer propiedad ( "límites de especificaciones" , Evaluar ( especificaciones ) ) ;
Controles = { XBar ( Avg ( una ) , LCL ( segundo ) , UCL ( do ) )} ;
Sustituir en ( Controles , Expr ( una ) , dtlim : LWarn El limbo ] ) ;
Sustituir en ( Controles , Expr ( do ) , dtlim : uwarn El limbo ] ) ;
Sustituir en ( Controles , Expr ( segundo ) , dtlim : targ El limbo ] ) ;
Columna ( dtsplitmeas , Carbonizarse ( cols El yo ] ) ) << establecer propiedad ( "límites de control" , Evaluar ( Controles ) ) ;
) ;
) ;