¿Cómo analizar el orden numérico de valores repetitivos en filas?Hola,
Soy una de las pocas personas en Suecia que usa JMP, mientras que la mayoría de mis colegas académicos usan SPSS. Sin embargo, me encanta JMP y he publicado 70 artículos en cirugía con él, así que funciona bien para mí. Soy profesor asociado y me describiría como un aficionado avanzado de JMP que puede programar un poco, pero hay un problema con el que estoy teniendo problemas. He publicado esta pregunta anteriormente pero no entendí exactamente las respuestas en el foro. El problema es el siguiente:
Tengo un archivo llamado Resultados .
En este archivo tengo una columna de 5700 numeros que se ordenan en orden como:
Nr
3456
3666
3687
3687
3687
5444
5444
5445
Apreciaría información sobre cómo debo escribir un guión o si debo escribir algo en una columna adicional para obtener el orden de las apariencias repetitivas de los números. La razón es que solo me interesa el primer nr. y si puedo obtener el pedido, podría hacer un archivo separado que conste solo de un pedido 1.
me gusta
Nr orden
3456 1
3666 1
3687 1
3687 2
3687 3
5444 1
5444 2
5445 1
Como soy un aficionado, le agradecería que pudiera escribir la respuesta de una manera sencilla.
Sinceramente tuyo
Lars Enochsson
profesor asociado
Universidad de Umeå
Suecia
Re: ¿Cómo analizar el orden numérico de los valores repetitivos en filas?Gracias. Excelente ayuda. Esto solucionó el problema./LarsRe: ¿Cómo analizar el orden numérico de los valores repetitivos en filas?¡Dulce! ColRank () con una variable by no estuvo disponible hasta JMP 13.
Como un FYI, aquí hay un script para verificar el rendimiento. Si hubiera 1,000,000 o más filas, probablemente ordenaría y usaría retrasos.
Names Default to Here(1);
dt = New Table("Test It", add rows(6000),
New Column("Nr", numeric, continuous,<<SET each="" value=""></SET><BR /> Para 6000 filas, usando Col Rank () = 3.13 * usando retrasos
t1 - t0 = 18836;
t3 - t2 = 1863;
t5 - t4 = 4161;
Para 1,000,000 de filas, usando Col Rank () = 2.45 * usando retrasos
t1 - t0 = 1521679;
t3 - t2 = 694813;
t5 - t4 = 621142;
* /
Re: ¿Cómo analizar el orden numérico de los valores repetitivos en filas?Prueba una fórmula de columna con la Col Rank () función con una variable secundaria Puede requerir JMP 13 o posterior, no estoy seguro de cuándo se introdujo por primera vez el soporte de variables variables en ColRank.
Prueba el guión de abajo. Debería dar el mismo resultado que la solución anterior. Sin embargo, no depende de la clasificación.
Current Data Table() << New Column("Order", Formula(Col Rank(:Nr, :Nr)));
(Otro usuario de JMP en Suecia)
Re: ¿Cómo analizar el orden numérico de los valores repetitivos en filas?Dado que la columna Nr está ordenada, esto se puede hacer con una fórmula de columna. Antes de presentar la fórmula, debe buscar en Menú principal> Ayuda> Índice de secuencias de comandos> Funciones> Fila o buscar Lag. Creé una columna llamada Count y agregué esta fórmula. Por defecto, la primera fila tiene un conteo de 1. La segunda condición: Nr == Lag (: Nr, 1) es la condición, si la fila actual es igual a la fila anterior, luego tome el conteo anterior, Lag (: Count, 1) e increméntelo. De lo contrario, el conteo es 1.
If(
Row() == 1, 1,
:Nr == Lag( :Nr, 1 ), Lag( :Count, 1 ) + 1,
1
)
Tenga en cuenta que JMP Lag funciona tanto en el texto como en los números. Sin embargo, si tuviera una columna de texto, recomendaría modificar la función a ser
If(
Row() == 1, 1,
Trim( Lowercase( :txtCol ) ) == Trim( Lowercase (Lag( :txtCol, 1 ) ) ) , Lag( :Count, 1 ) + 1,
1
)
Espero que ayude.