¿Por qué la media de mi columna no coincide con la calculada a través de la plataforma de distribución, después de excluir las filas?Calcular la media de la columna antes y después de excluir una fila me da los mismos valores a través de JSL. Es diferente a lo esperado cuando se obtiene de la plataforma de distribución. ¿Dónde me estoy equivocando en JSL?
Names Default To Here( 1 );
Clear Log();
dt = Open( "$sample_data\Semiconductor Capability.jmp" ); // get data table
//get spec limits into column properties
obj = dt << Manage Spec Limits( Y( dt << Get Column Group( "Processes" ) ), Show Limits All, Save to Column Properties(1) );
obj << close window; // close Manage Spec Limits window
colName = "M1_M1"; // choose column
colMean = Col Mean(dt:colName); show (colMean); // get column mean
colMin = Col Minimum(dt:colName); show (colMin); // get column minimum value
//plot distribution
Distribution(Stack(1), Continuous Distribution(Column(:M1_M1 ), Horizontal Layout(1),Vertical(0), Process Capability(0)));
dt << select where( dt:colName == colMin)<< Hide and Exclude; // hide and exclude the minimim value of the column
colMeanNew = Col Mean(dt:colName); show (colMeanNew); // get column mean again
//plot distribution again
Distribution(Stack(1), Continuous Distribution(Column(:M1_M1 ), Horizontal Layout(1),Vertical(0), Process Capability(0)));



Automatización y secuencias de comandosventanasRe: ¿Por qué la media de mi columna no coincide con la calculada a través de la plataforma de distribución, después de excluir las filas?Col Mean() no respeta las filas excluidas como lo hacen las plataformas JMP.Si utiliza:
colMeanNew = Col Mean( If( Excluded( Row State( Row() ) ), ., dt:colName ) );
te dará el resultado que deseas.
Re: ¿Por qué la media de mi columna no coincide con la calculada a través de la plataforma de distribución, después de excluir las filas?Funciones de columna y estados de fila es una buena lectura al respecto. Si no le importa que las filas excluidas sean tratadas como su propio grupo, también puede usar
Col Mean(dt:colName, Excluded())
Cuando utilice funciones Col de esta manera en su secuencia de comandos (no en fórmula) y tenga varios grupos (Excluido tendrá su propio grupo), debe tener un poco de cuidado. Puede modificar la fila actual para que no esté excluida (Fila() = algo) o crear una fórmula con la función Col.
Otra opción sería utilizar Resumir()
summarize(dt, my_mean = Mean(dt:colName));
Re: ¿Por qué la media de mi columna no coincide con la calculada a través de la plataforma de distribución, después de excluir las filas?Tenga en cuenta que las fórmulas de columna con excluido() se reevalúan cada vez que se cambia la selección de fila:
Precaución: Lugares donde Jmp hace algo inesperado
Para tablas de datos pequeñas, esto está bien; para tablas de datos grandes, provoca un retraso notable.
Este problema se solucionará en Jmp 18.