Cómo hacer un resumen acumulativo en una columna numérica<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Me gustaría una forma conveniente en JMP para hacer un resumen acumulativo en una determinada columna, donde para cada valor de la columna de destino, se le indica cuántas filas (elementos) cumplieron con algún límite de ese valor en esa columna ( Menos que o igual a , Mayor qué o igual a , menos que o mas grande que ).
Por ejemplo, comenzando con esta tabla:
| Identificación de la placa de Petri | Bacterias N |
|---|
| 0 | 100 |
| 1 | 103 |
| 2 | 98 |
| 3 | 98 |
| 4 | 102 |
| 5 | 97 |
Puede que quiera generar el Cantidad de placas de Petri que tenían menos o igual que Cada cantidad de bacterias, potencialmente así:
| A lo sumo bacterias B | N platos de petri |
|---|
| 96 | 0 |
| 97 | 1 |
| 98 | 3 |
| 99 | 3 |
| 100 | 4 |
| 101 | 4 |
| 102 | 5 |
| 103 | 6 |
| 104 | 6 |
Del mismo modo, podría querer columnas para Al menos N Bacterias , Menos de N bacterias y Más que N bacterias .
¿Hay alguna manera conveniente de hacer esto usando alguna de las herramientas de menú y / o quizás una columna de fórmula, o requeriría un script JSL? ¿Requeriría una clasificación previa de la tabla original en la columna de destino (N Bacterias)? ¿Hay algún complemento que haría esto?
Nota: En MS Excel esto podría hacerse usando el " El país "función adyacente a una columna de" Bacterias N como máximo "(o cualquier otro límite) creada manualmente.
Gracias.
Re: Cómo hacer un resumen acumulativo en una columna numéricaEval (Eval Expr (Col Sum (: N Bacterias <= Expr (: Umbral [Fila ()]))))
Para cada valor dado en la columna Umbral, queremos crear un vector de columna de 0/1 banderas que simbolicen qué filas en la columna: N bacterias (toda la columna) satisfacen la desigualdad.
Supongamos que la fila 3 de la columna Umbral es 98. Entonces el vector es producido por:
: N Bacterias <= 98, que compara cada fila de la columna: N Bacterias con 98 y crea un 0 o 1 en consecuencia.
La función Col Sum () sumará los 0 y 1 en el vector producido por: N Bacterias <= 98. La suma representa el número de filas donde: N Bacterias <= 98.
La pieza: Umbral [fila ()] es: Umbral [1] para la fila 1, Umbral [2] para la fila 2, etc. El problema es que necesitamos evaluar el valor de row (), sustituyendo el valor constante actual contenido en la tabla de datos, antes de evaluar el resto de la fórmula.
Por lo tanto, utilizamos el constructo Expr (: Threshold [Row ()]), que, cuando se usa junto con el constructo Eval (EvalExpr ()), hace que: Threshold [row ()] sea reemplazado por el valor que se encuentre en el : Fila "filath" de la columna de umbral.
Aclamaciones,
Brady
Re: Cómo hacer un resumen acumulativo en una columna numéricaGracias por esta fórmula Brady. Todavía estoy confundido acerca de los detalles de por qué necesitó usar un subíndice ([]) para Umbral pero no para N Bacterias, y por qué necesita usar "Expr" y "Eval Expr" de esta manera. ¿Cómo funciona el almacenamiento en caché de valores no deseados, y cómo funciona esta fórmula para evitar que produzca el resultado correcto? ¿Puede por favor elaborar estos detalles?
Re: Cómo hacer un resumen acumulativo en una columna numéricaPuedes hacerlo con la siguiente fórmula; simplemente cambia la desigualdad para reflejar tus necesidades.
Eval (Eval Expr (Col Sum (: N Bacterias <= Expr (: Umbral [Fila ()]))))
En este ejemplo, las columnas de resumen se crean en la misma tabla que los datos sin procesar. (Ver archivo adjunto.)
Tenga en cuenta que el umbral y el recuento en esta fórmula corresponden a las columnas en la segunda tabla de su publicación original.
La construcción Eval (Eval Expr ()) es necesaria para forzar la evaluación del valor de umbral en cada fila dada; por ejemplo, si prueba la siguiente fórmula, no le dará los resultados que desea.
Col Sum (: N Bacterias <=: Umbral [Fila ()])
Aclamaciones,
Brady