<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola, espero obtener ayuda con las secuencias de comandos JSL cuando faltan datos en una tabla de datos.
Estamos utilizando JSL para ejecutar una consulta en una base de datos que extrae datos en una tabla de datos que tiene el siguiente aspecto:
Plato | Compuesto | M1 | M2 | M3 | M4 |
A121 | cmp001 | 85.203 | 30.022 | 36.797 | 0.0629 |
A122 | cmp002 | 84.031 | 34.902 | 31.596 | 0.063 |
A123 | cmp003 | 89.028 | 30.677 | 34.903 | 0.063 |
A124 | cmp004 | 91.2455 | 35.277 | 35.327 | 0.0631 |
A125 | cmp005 | 91.257 | 36.927 | 38.836 | 0.063 |
donde M son todas las medidas diferentes. Tenemos un script JSL que hace varias gráficas a partir de los datos y también hace un modelo de ajuste de
Modelo de ajuste(
Y (: M1,: M2,: M3,: M4),
Efectos (: Placa,: Compuesto,: Placa *: Compuesto),
Personalidad (mínimos cuadrados estándar),
Énfasis (apalancamiento del efecto),
Correr(
: M1 << {Lack of Fit (0), Plot Actual by Predicted (1),
Regresión de parcela (0), Parcela residual por predicción (1),
Apalancamiento de efecto de trazado (1), Mostrar VIF (1), {: Esfuerzo <<
{LSMeans Tukey HSD (0.05, Crosstab Report (0))}}},
: M2 << {Lack of Fit (0), Plot Actual by Predicted (1),
Regresión de parcela (0), Parcela residual por predicción (1),
Apalancamiento de efecto de trazado (1), Mostrar VIF (1), {: Esfuerzo <<
{LSMeans Tukey HSD (0.05, Crosstab Report (0))}}},
: M3 << {Lack of Fit (0), Plot Actual by Predicted (1),
Regresión de parcela (0), Parcela residual por predicción (1),
Apalancamiento de efecto de trazado (1), Mostrar VIF (1), {: Esfuerzo <<
{LSMeans Tukey HSD (0.05, Crosstab Report (0))}}},
: M4 << {Lack of Fit (0), Plot Actual by Predicted (1),
Regresión de parcela (0), Parcela residual por predicción (1),
Apalancamiento de efecto de trazado (1), Mostrar VIF (1), {: Esfuerzo <<
{LSMeans Tukey HSD (0.05, Crosstab Report (0))}}},
)
)
Donde nos encontramos con problemas es que ocasionalmente tenemos un sistema de medición fallido y toda la columna M3 o M4 estará llena de valores perdidos (cuenta = 0). Cuando esto ocurre, el Fit Model bloquea el JSLscript.
¿Cuál es la mejor manera de hacer un script de ajuste de un modelo en una tabla de datos donde ocasionalmente una columna no tendrá datos? ¿Hay una manera fácil de ver primero qué columnas contienen datos y luego pasarlas como una lista a la plataforma del Modelo de ajuste? Realmente no tengo ganas de escribir una tonelada de sentencias IF para verificar qué columnas están llenas y vacías y luego ejecutar un script de modelo de ajuste diferente, ya que tenemos más de 10 mediciones diferentes y cualquiera de ellas puede faltar. cualquier día.
Gracias por tu ayuda.
Al menos en JMP 9, Fit Model () acepta un argumento de lista. Se debe usar Eval () si la lista es una variable.
Aquí hay un ejemplo sobre cómo construir una lista con columnas no vacías (no se comprueba si está llena, pero es fácil de agregar):
Ys = { : M1 , : M2 , : M3 , : M4 } ;
por ( yo = N artículos ( Ys ) , yo > 0 , yo -,
Resumir ( norte = Contar ( Ys El yo ] ) ) ;
Si ( norte == 0 ,
Eliminar de ( Ys , yo )
) ;
) ;
Modelo de ajuste (
Y ( Evaluar ( Ys ) ) ,
Efectos ( ...