Normalizar una columnaTLDR: ¿Cómo normalizo una columna consigo misma?
Ver adjunto. Tengo:
- Columna A = 0, 1, 2, 3. Piense en esto como un número de identificación.
- Columna B. Piense en esto como una marca de tiempo.
- Columna C. Estos son los datos
Ahora quiero que la columna D tenga los datos de la columna C, SÓLO cuando B=1.
Como puedes ver en el archivo adjunto, he copiado y pegado manualmente las celdas amarillas de C a D. Las he pegado una y otra vez.

Por lo tanto, al calcular D/C, básicamente normalizo toda la columna C a estos valores amarillos especiales. Esta es la razón por la que hago todo esto: para encontrar D/C. Un valor de 0,9 en esta columna significa que C es menor que los valores amarillos de C, y 1,1 significa que es mayor que los valores amarillos de C.
Entonces, para resumir, ¿cuál es la fórmula que va en D para poder obtener los valores amarillos?
Automatización y scriptingAnálisis y modelado de datos básicosRe: Normalizar una columnaeditar
Perdón, necesito prestar más atención. No preguntabas cómo conseguir un legrado.
Seleccione C y D y haga clic derecho. Nueva columna de fórmula > Combinar > Ratio (orden inverso)

Re: Normalizar una columnaPerdón si sigo malinterpretando, pero si quieres que D falte cuando B no sea 1 y que D tenga los valores de C cuando B sea uno, prueba esta fórmula.
Choose( :B, :C, . )
Re: Normalizar una columnaGracias por tu respuesta. No exactamente. Simplemente quiero una fórmula en la columna D que reproduzca esos números.
Esa fórmula tomará las celdas amarillas de C y las aplicará a toda la columna D. De esta manera, toda la columna D estará formada por las celdas amarillas repetidas, como se muestra. (Es probable que en algún lugar de la fórmula, incluyéramos B=1 en el código).
Probablemente me confundí al escribir manualmente la D en el ejemplo. Ingresé esos números manualmente, pero quiero una fórmula que complete la D automáticamente.
Re: Normalizar una columnaGracias por tu respuesta, pero aquí hay una comparación de tu respuesta y lo que quiero, que es solo una fórmula para D. Así que compara la columna final y D y verás que no son lo mismo.

Re: Normalizar una columna¿No es la fórmula simplemente?
If( :B == 1, 1, :D / :C )

Re: Normalizar una columnaEstoy seguro de que hay una manera de crear una solución con un script, pero en este caso, sugeriría que cambiar del formato de datos Tall a uno Wide tiene más sentido. Al usar fórmulas JMP, siempre es más fácil cuando todos los términos necesarios para ese cálculo están en la misma fila. (A veces esto es imposible, y entonces se necesita un script ingenioso. Pero en este caso, es posible).
Mi sugerencia: Divida la tabla de datos en formato ancho, con una columna separada para cada "B". Así, la normalización (separación por C) será más sencilla.

Puede recodificar los nombres de las columnas para que sean un poco más legibles:

Después de agregar las nuevas columnas de fórmula, obtendrá lo siguiente:

¿Te serviría esto? Adjunto la tabla para tu referencia.
Re: Normalizar una columnaUtilice una agregación Col agrupada como col Mediana() para definir los valores de la columna D como
Col median(if (:B==1,:C), :A)
También puedes omitir la columna D y calcular directamente :C/Denominador .
Hay un complemento en el Marketplace que realiza dicha normalización automáticamente.
Re: Normalizar una columnaNo, quiero encontrar la fórmula para D. En mi ejemplo, simplemente escribí manualmente los números para D, pero quiero una fórmula.Re: Normalizar una columna¿Qué pasa con?
Col median(if (:B==1,:C), :A)
?
Re: Normalizar una columnaHogi, ¡esta es la solución! ¡Gracias! Es un poco raro tener que usar la función "mediana" porque no hay ninguna mediana a la vista, pero veo lo que hace. ¡Gracias! También revisaré el complemento Marketplace.
Re: Normalizar una columna¡Gracias! Esto funciona, pero es un poco difícil de visualizar para una persona cuando tengo un conjunto de datos grande. La respuesta de Hogi es más sencilla, pero gracias por el consejo de todos modos.