¿Cuáles son los criterios para la ubicación de las columnas al ordenarlas por tipo de datos?Tengo una tabla de 172 columnas con tipos de datos de caracteres y nominales, ordenadas de forma específica. Al usar la ventana del lado izquierdo de la tabla, ordeno las columnas por tipo correctamente. Sin embargo, dentro de cada grupo de tipos, las columnas ya no están en un orden específico, sino que parecen estar colocadas aleatoriamente. ¿Cuál es el criterio para la colocación de las columnas al realizar la ordenación?
Combinación y limpieza de datosRe: ¿Cuál es el criterio para la ubicación de las columnas al ordenarlas por tipo de datos?De acuerdo a
Utilizando JMP > Introducir y editar datos > Organizar datos en tablas de datos > Reorganizar columnas en tablas de datos
Reordenar por tipo de datos
Organiza las columnas de izquierda a derecha en orden alfabético según el tipo de datos (expresión, estado de fila, carácter o numérico).
Así que supongo que las columnas se mueven a grupos de tipos de datos (caracter, expresión, numérico, estado de fila) y luego permanecen en el orden original dentro de esos grupos.
Re: ¿Cuál es el criterio para la ubicación de las columnas al ordenarlas por tipo de datos?Lamentablemente, no quiero que estén ordenados alfabéticamente, que es como JMP parece querer ordenarlos, lo que me obligaría a realizar más trabajo. Son de una encuesta y quiero que se mantengan en el orden en que se ven.
Re: ¿Cuál es el criterio para la ubicación de las columnas al ordenarlas por tipo de datos?Puedes imponer el orden que desees añadiendo un prefijo al nombre de la columna, como un valor de índice (01, 02, etc.). El orden ordenado por JMP sería el mismo que el que tú desees.
Re: ¿Cuál es el criterio para la ubicación de las columnas al ordenarlas por tipo de datos?Aquí tienes una función que creo que hace lo que quieres. Probada con JMP 19.04. Falla sin Eval( Eval Expr()).
arrange_columns = Function( {dt},
num_columns = dt << Get Column Names( Numeric, String );
char_columns = dt << Get Column Names( Character, String );
ex_columns = dt << Get Column Names( Expression, String );
rs_columns = dt << Get Column Names( RowState, String );
dt << Reorder By Data Type();
For Each( {group, index}, {num_columns, char_columns, ex_columns, rs_columns},
If( N Items( group ) > 1,
Eval( Eval Expr( dt << Move Selected Columns( Expr( group[2 :: N Items( group )] ), After( group[1] ) ) ) )
)
);
);