Cómo trazar el recuento de valores de datos nominales frente a datos continuosHola, tengo una pregunta sobre cómo modelar algunos datos que estoy viendo (JMP 11).
Objetivo final: mostrar un gráfico que muestre el recuento de valores de una columna de datos nominales (X) vs. Columna de datos continuos (Y).
Más allá de la maleza:
Tengo una columna de datos nominal: DieNumber.
Y una columna de datos continua: ResDelta.
Quiero mostrar el recuento de cada DieNumber (por ejemplo, 1, 2, 3) que se muestra en el eje X en lugar de cada valor de DieNumber, pero en Graph Builder cambiar la estadística de resumen a N cuando ResDelta (Continuo) se traza en el eje Y. está resumiendo Y y no resumiendo los recuentos de cada valor de X.
La única solución alternativa que encontré es usar la función Overlay Plot, asociando ResDelta como \[Y\], asociando DieNumber como \[By\], pero esto divide cada gráfico individualmente cuando quiero que todos los datos estén en un solo gráfico.
Realmente estoy luchando con esto, por lo que agradecería cualquier ayuda, ¡gracias!ventanasRe: Cómo trazar el recuento de valores de datos nominales frente a datos continuos¡Gracias por tu ayuda! Así es como terminó luciendo. Lo limpiaré un poco más, ¡pero eso es todo!

Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosSi ordena sus datos por "Nombre" (Usando @ih ejemplo), la siguiente fórmula le dará la suma acumulada de columnas en JMP 11
If(Lag(:Name) != :Name | Row() == 1, x = 0);
x++;
x
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosEsto está muy cerca, no creo que JMP 11 tenga Col Cumulative Sum() como argumento. ¡Pero ese es el tipo de gráfico y modelo que estoy tratando de ver!
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuos¡Ah, gracias por preguntar! ¡Este ejemplo aclara su caso de uso!Si entiendo correctamente, desea que todos los tiempos de las pistas individuales se representen como puntos separados, no solo un punto que represente ambas carreras de Tim.Yo abordaría esto haciendo una columna contando el número de veces que cada persona corrió alrededor de la pista hasta el momento, y luego simplemente graficando eso con las calorías quemadas.
La fórmula para los tiempos alrededor de la columna de seguimiento podría verse así (tenga en cuenta cómo simplemente suma el número en lugar de tener una referencia de columna en el primer argumento):


Script para recrear el gráfico:
Ver más...
Names default to here(1);
dt = New Table( "Count Table",
Add Rows( 11 ),
New Column( "Name", Character, "Nominal",
Set Values( {"Tim", "Tim", "Alex", "Alex", "Alex", "Alex", "Sara",
"Sara", "Sara", "Sara", "Sara"} ) ),
New Column( "Calories Burned", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [75, 155, 60, 130, 195, 240, 65, 125, 180, 235, 280] ) ),
New Column( "Times around Track", Numeric, "Continuous", Format( "Best", 12 ),
Formula( Col Cumulative Sum( 1, :Name ) ) )
);
g = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :Times around Track ), Y( :Calories Burned ), Overlay( :Name ) ),
Elements( Points( X, Y, Legend( 13 ) ), Smoother( X, Y, Legend( 15 ) ) )
);
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosGracias a todos por la ayuda. Si esto aclara las cosas, me gustaría presentar un problema similar que podría ser más fácil de entender.
Problema de ejemplo:
Tim, Alex y Sara corren por una pista. Después de cada vuelta, se mide las calorías quemadas.
Tim corrió alrededor de la pista 2 veces con calorías quemadas: 75, 155 respectivamente.
Alex corrió 4 veces con medidas de calorías de: 60, 130, 195 y 240 cal.
Sara corrió 5 veces con medidas de: 65, 125, 180, 235 y 280 cal.
¿Cómo puedo trazar (número de veces que se corrió) versus (calorías quemadas)?
Para relacionar esto con mi problema:
Nombres (nominales) = ChipDieNum,
(Nominal) Número de veces que se corrió = Recuento de ChipDieNum,
(Continuo) Calorías quemadas = Delta Res.
Para que conste, tengo más de 8000 entradas de datos que me gustaría modelar.
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosEsta es la solución más cercana hasta ahora de todas, pero el problema que tengo es que mi gráfico final debe ser (Recuento de ChipDieNum) frente a (Res Delta).
Por ejemplo:
ChipDieNum: 401 realizó la calibración 3 veces con Deltas de resistencia: -10200; -2000; -100 ohmios. En los datos, ChipDieNum = (401), Recuento de ChipDieNum = (3) y Res Delta = (-10200,-2000,-100)
ChipDieNum: 510 realizó la calibración 2 veces con Deltas de resistencia: -13000, -2600; -200 ohmios. Lo que se mostraría como: ChipDieNum = (510), Recuento de ChipDieNum = (2) y Res Delta = (-13000,-2600,-200)
Estoy intentando correlacionar que Res Delta para un chip aumenta de acuerdo con la cantidad de veces que se ejecutó a través de la calibración trazando el recuento de ChipDieNum (X) contra Res Delta (Y). En otro sentido, estoy tratando de asociar múltiples valores de Res Delta (Y) con valores de Count (X) de cada valor de ChipDieNum donde ChipDieNum es nominal y Res Delta es continuo.
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosAquí hay un método alternativo que yo pensar funcionará en JMP 11 y trazará valores continuos, y a continuación quizás haya una forma más fácil de mostrar estos datos usando un histograma:
Método 1
Calcule los puntos para trazar usando tabular con tipos de datos ordinales y un filtro de datos local que excluye los valores faltantes en lo que sería el eje x. Luego, en la nueva tabla de datos, cambie los tipos de datos a continuos y trace.
- Agregue una nueva columna con una fórmula como esta (en versiones más nuevas de JMP, puede hacer esto directamente en el cuadro de diálogo de inicio de la plataforma sin crear una columna):

- Abra la tabulación, cambie la variable y a nominal temporalmente, puede volver a cambiarla después de esto.
- Agregue un filtro de datos local para excluir filas con edades faltantes, configúrelo en nominal y seleccione '0'

- Convertir en una tabla de datos
- Cambiar los tipos de modelado de datos a continuo
- Grafico

Método 2
En el generador de gráficos, haga un histograma usando solo el eje y y agregue un filtro de datos local que excluya los valores faltantes en lo que sería el eje x.
- Haga la misma columna "falta" para la variable del eje x
- Agregue esa columna como filtro de datos local en el generador de gráficos.
- Agregue la variable y al eje y, debe ser continua
- Cambiar el gráfico a un histograma
- Cambie la configuración del eje en el eje y a algo razonable. Tenga en cuenta que esto aún generará algunos agrupamientos, por lo que, dependiendo de su configuración aquí, podría combinar las alturas 51.1 y 51.2 en la misma barra con una cuenta de 2.

Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosHola @jakedahsnake ,
Como otros miembros han intentado encontrar soluciones a su problema, probaré con otra, basada en las discusiones.
Para crear el gráfico adjunto, estos son los pasos:
- Cree una nueva columna "Recuento" por ID de matriz:
// New formula column: Count
Data Table( "dieexample" ) << New Formula Column(
Operation( Category( "Aggregate" ), "Count" ),
Columns( :ResDelta ),
Group By( :Die )
);
- Cree un gráfico que muestre la distribución de ResDelta dependiendo de la cantidad de puntos, con la información de Die ID en "Overlay" y diagramas de caja para facilitar la comparación (opcional, y puede resultar complicado si tiene un conjunto de datos grande):
Graph Builder(
Size( 984, 474 ),
Show Control Panel( 0 ),
Variables( X( :Count ), Y( :ResDelta ), Overlay( :Die ) ),
Elements( Points( X, Y, Legend( 10 ) ), Box Plot( X, Y, Legend( 12 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position(
{10, [0, 1, 2, 3, 4], 12, [-1, -1, -1, -1, -1, -3, -3, -3, -3, -3]}
)}
)
)
);
Una vez hecho esto, deberías acceder al gráfico adjunto (agregué diagramas de caja en el gráfico y en el script, pero puedes eliminarlos si no son útiles para tu objetivo):

También adjunté el conjunto de datos que utilicé para la demostración con un script gráfico adjunto.
Espero que esto te ayudará,
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosSi este es el tipo de gráfico que deseas

Este es el método que utilicé en JMP 11. Las versiones más nuevas lo harían más fácil.
Primero, creo una nueva columna llamada "recuento" usando la fórmula
If(Lag(:Die) != :Die | Row() == 1, x = 0);
x++;
x
Luego, el estado Etiqueta se aplica a la columna Recuento.
Cada fila tiene el estado de la etiqueta establecido.Esto permitirá mostrar el valor como una etiqueta.
La columna ResDelta se arrastra al área Y dop
El troquel se arrastra al área de colocación de X
El recuento se arrastra al área de colocación de Color
Este último paso se realiza para que el color de los puntos se pueda cambiar a blanco, para que no se muestren en el gráfico.Para cambiar el color, simplemente vaya a cada uno de los puntos coloreados en la leyenda, haga clic derecho sobre ellos uno a la vez y cambie el color a blanco.
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosSin embargo, ResDelta son datos continuos. Además, no tengo flechas rojas junto al menú desplegable de puntos en el panel de control. Quizás porque estoy usando JMP 11.
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosAh, ahora lo entiendo.Necesita cambiar su eje y para que sean datos ordinales o nominales, y entonces Elija el eje de respuesta para resumir debajo del triángulo rojo de Puntos.En algunos casos, es posible que primero necesite agrupar los datos, por ejemplo, redondeando al número entero más cercano, pero en su caso parece que Res Delta ya es un número entero.

Ahora, por alguna razón, las etiquetas del eje x se estropearon cuando ejecuté esto, así que tuve que ir a la configuración del eje x y arreglarlas. Entonces, pensé que este script debería funcionar:
Ver más...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
dt:height << Set Modeling Type("Ordinal");
dt:age << Set Modeling Type("Ordinal");
Graph Builder(
Size( 502, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 3 ), Summary Statistic( "N" ), Response Axis( "X" ) )
)
);
pero en lugar de eso necesitaba usar esto:
Ver más...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
dt:height << Set Modeling Type("Ordinal");
dt:age << Set Modeling Type("Ordinal");
Graph Builder(
Size( 501, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements(
Points( X, Y, Legend( 3 ), Summary Statistic( "N" ), Response Axis( "X" ) )
),
SendToReport(
Dispatch(
{},
"age",
ScaleBox,
{Label Row(
{Tick Mark( Label( "12" ), Label( "0" ) ),
Tick Mark( Label( "13" ), Label( "1" ) ),
Tick Mark( Label( "14" ), Label( "2" ) ),
Tick Mark( Label( "15" ), Label( "3" ) ),
Tick Mark( Label( "16" ), Label( "4" ) ),
Tick Mark( Label( "17" ), Label( "5" ) )}
)}
)
)
);
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosIntenté hacer eso, pero por alguna razón JMP está resumiendo Y (supongo que porque son datos continuos) en lugar de resumir N para X, así que termino obteniendo un gráfico diferente:

Si bien esto muestra los recuentos de ChipDieNumber, ahora se traza en la Y en lugar de ResDelta.
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosEn Puntos, intente cambiar la estadística de resumen a 'N':

Creo que esto te da lo que buscas:

Guión para recrear:
Ver más...
Names Default To Here( 1 );
dt = Open( "$Sample_data/big class.jmp" );
win = New Window("Example",
H List Box(
Graph Builder(
Size( 503, 256 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ), Summary Statistic( "N" ) ) )
),
Tabulate(
Show Control Panel( 0 ),
Add Table( Row Table( Grouping Columns( :age ) ) )
)
)
);
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuos¡Gracias por la cálida bienvenida y agradezco su tiempo investigando esto! Tracé las variables en X e Y como creo que deberían ser, y esto es lo que veo:

Esto es casi correcto, excepto que para cada X (ChipDieNum) puede haber múltiples valores de Y (ResDelta). En lugar de trazar los valores de X, quiero trazar los recuentos de cada valor de X (ChipDieNum).
Como se mencionó anteriormente, X se establece en Nominal e Y es Continuo.
Re: Cómo trazar el recuento de valores de datos nominales frente a datos continuosPrimero, bienvenido a la comunidad. No estoy seguro de entender el problema, pero adjunté un conjunto de datos falso con números falsos para dos variables Die y ResDelta. He guardado un script para Graph Builder (flecha verde). Simplemente haga clic en él. ¿Es esto lo que estás buscando? Por cierto, estoy en V17, así que no estoy seguro de que funcione en V11... así que aquí está el script:
Graph Builder(
Variables( X( :Die ), Y( :ResDelta ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
)