Quels sont les critères de placement des colonnes lors du tri des colonnes par type de données ?J'ai un tableau de 172 colonnes, ordonnées de manière spécifique, contenant un mélange de types de données caractères et nominaux. Le tri par type s'effectue correctement à l'aide de la fenêtre située à gauche du tableau. Cependant, au sein de chaque groupe de types, les colonnes ne sont plus classées de manière cohérente et semblent placées aléatoirement. Quels sont les critères de placement des colonnes après le tri ?
Fusion et nettoyage des donnéesRe : Quels sont les critères de placement des colonnes lors du tri des colonnes par type de données ?Selon
Utilisation de JMP > Saisie et modification des données > Organisation des données dans les tableaux de données > Réorganisation des colonnes dans les tableaux de données
Réorganiser par type de données
Organise les colonnes de gauche à droite par ordre alphabétique selon le type de données (expression, état de ligne, caractère ou numérique).
Je suppose donc que les colonnes sont déplacées vers des groupes de types de données (caractère, expression, numérique, état de ligne) et qu'elles restent ensuite dans leur ordre d'origine au sein de ces groupes.
Re : Quels sont les critères de placement des colonnes lors du tri des colonnes par type de données ?Malheureusement, je ne souhaite pas qu'ils soient classés par ordre alphabétique, comme semble le vouloir JMP, ce qui me demanderait plus de travail. Ils proviennent d'une enquête et je veux qu'ils restent dans l'ordre où ils ont été vus.
Re : Quels sont les critères de placement des colonnes lors du tri des colonnes par type de données ?Vous pouvez imposer l'ordre souhaité en ajoutant un préfixe au nom de la colonne, tel qu'une valeur d'index (01, 02, etc.). L'ordre de tri appliqué par JMP sera alors identique à celui que vous avez défini.
Re : Quels sont les critères de placement des colonnes lors du tri des colonnes par type de données ?Voici une fonction qui, je crois, fait ce que vous souhaitez. Testée avec JMP 19.04. Elle ne fonctionne pas sans 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] ) ) ) )
)
);
);