Ordenar una columna por variableHola,
¿Cómo haría para crear una nueva columna que contenga los valores ordenados de una columna por otra variable?
Un ejemplo para aclarar: si tuviera una tabla con dos filas: nombre y edad, ¿cómo crearía una tercera fila que muestre los nombres ordenados del mayor al menor?
¡Gracias!
Re: Ordenar una columna por variablePrueba esto:
names default to here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column(
"Sorted names by age",
Expression,
"None",
Formula( :Name[ Rank( :age << Get Values )][ Row() ] )
);
dt << New Column(
"Sorted names by height",
Expression,
"None",
Formula( :Name[ Rank( :height << Get Values )][ Row() ] )
);
Tenga en cuenta que puede resultar lento para tablas grandes.
Editado para mostrar un ejemplo más relevante.
Re: Ordenar una columna por variableSi tiene sus datos en filas en lugar de columnas, como en Excel, necesitará transponer la tabla antes de analizarla. En su ejemplo, después de la transposición, tendrá dos columnas: Nombre y edad. En este punto, simplemente se trata de ordenar la tabla por la columna de edad, como sugieren otros usuarios.
Re: Ordenar una columna por variableLo que has pedido no se hace fácilmente en una fórmula (que se me ocurre de todos modos). Es relativamente fácil hacer esto de forma interactiva usando Tablas->Ordenar para ordenar la tabla en una nueva tabla y luego copiar y pegar la columna de interés nuevamente en la tabla original.
Sin embargo, la pregunta genera cierto interés sobre lo que realmente estás intentando hacer.
En términos generales, una fila de una tabla de datos representa una colección de valores para una sola entidad (un estudiante individual en su ejemplo simple) y cada fila no está relacionada con otras filas. No estoy seguro de cómo esta nueva columna (de Nombres en su ejemplo) sería útil en un análisis, ya que la nueva columna solo tiene significado en el contexto de su orden.
¿Puedes explicar un poco más cómo usarías esta nueva columna?
Un ejemplo para aclarar: si tuviera una tabla con dos filas: nombre y edad, ¿cómo crearía una tercera fila que muestre los nombres ordenados del mayor al menor?
PD: parece que has confundido filas y columnas en tu ejemplo. Supongo que realmente quisiste decir una tabla con dos columnas y que deseaba crear una tercera columna como indica su pregunta original. Si me equivoco y realmente te refieres a filas, háznoslo saber.