Cómo encontrar cada prueba para evaluar una unidadSoy bastante nuevo en JMP y JSL y actualmente estoy trabajando en la selección de una unidad en un conjunto de datos muy grande. Mi objetivo es obtener una tabla de salida que contenga un nombre de cada prueba en la que la unidad (definida por su ECID) tenga una puntuación z superior a 3 (o algún otro valor que pueda elegir). Estos puntajes z deben basarse en las distribuciones respectivas de unidades de aprobación de cada prueba. ¿Existe la funcionalidad JMP para esto o una secuencia de comandos que se ha creado para hacer algo en este sentido? A continuación se muestra mi pseudocódigo muy suelto para un script.
Pseudocódigo:
Requiere un conjunto de datos lo suficientemente grande como para tener una distribución normal para diferentes pruebas (mínimo 30 unidades buenas)
Subconjunto de la tabla de datos base en solo unidades del contenedor 1
Calcule la media y la desviación estándar para cada prueba usando solo unidades de aprobación
Calcule la puntuación z en relación con la media y la desviación estándar de cada prueba
Cree una tabla de salida con todas las pruebas y puntajes que estén por encima de 3
AnalíticaTabla de datossecuencias de comandosventanasRe: Cómo encontrar cada prueba para evaluar una unidadAquí hay una secuencia de comandos de muestra, que crea las puntuaciones Z e identifica los valores que son mayores que 3. ¿Está en la dirección que desea?
Names Default To Here( 1 );
// Open Data Table: Probe.jmp
// → Data Table( "Probe" )
dt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
// Create a Bin column
dt << New Column( "Bin",
modeling type( nominal ),
set each value( If( Random Uniform( 0, 1 ) <= .8, 1, Random Integer( 2, 7 ) ) )
);
// Get column names for all continuous columns
colNames = dt << get column names( string, continuous );
For( i = 1, i <= N Items( colNames ), i++,
mean = .;
stddev = .;
// Create the Z scores for each test
dt << New Column( colNames[i] || " Z Score",
formula(
If( Row() == 1,
Mean = Col Mean( If( :Bin == 1, As Column( dt, colNames[i] ), . ) );
Stddev = Col Std Dev( If( :Bin == 1, As Column( dt, colNames[i] ), . ) );
);
Abs( :Process 1 - Mean ) / Stddev;
)
);
Column( dt, N Cols( dt ) ) << delete formula;
targetRows = dt << get rows where( As Column( dt, N Cols( dt ) ) >= 3 );
Try( As Column( dt, N Cols( dt ) ) << color cells( "red", As List( targetRows ) ) );
);Re: Cómo encontrar cada prueba para evaluar una unidadEste es un muy buen punto de partida. Gracias por tu ayuda. Me gustaría adoptar este script para poder ejecutarlo solo en unidades con un ECID específico dentro de un gran conjunto de datos. Si tuviera que ejecutar este script en cada punto de datos/muerte, lamentablemente colapsaría JMP. ¿Cómo recomendaría adoptar este script para permitir esto?
Re: Cómo encontrar cada prueba para evaluar una unidadHola Jim,
No fui claro con mi problema anterior. Me gustaría encontrar una puntuación z de una sola unidad para cada prueba basada en la distribución de todo el conjunto de datos. Debido a esto, no puedo subdividir los ECID de nota. En segundo lugar, no estoy seguro de que el script original funcione correctamente. Luego de una revisión adicional, noté que muchos de los puntajes z son poco probables. Hay algunos puntajes z que se acercan a los tres dígitos.

Re: Cómo encontrar cada prueba para evaluar una unidadSimplemente crearía un subconjunto de la tabla de datos original y ejecutaría el análisis en él.
dt = current data table();
ECIDsToTest = { "413257", "56739",...........};
dt << select where( contains( ECIDsToTest, :ECID ) );
dtToTest = dt << subset( selected columns( 0 ), selected rows( 1 ) );
// Run the Z Score analysis on the new subsetRe: Cómo encontrar cada prueba para evaluar una unidadProporcione una tabla de datos de entrada de muestra y una muestra de lo que espera para su salida.