Comment dépiler une table JMP avec une structure plusieurs à unSalut,
J'ai le tableau de données « empilé » suivant dans JMP ;
| Identifiant du test | Échantillon type | Résultat |
| Test_ID_1 | Échantillon | dix |
| Test_ID_1 | Échantillon | 12 |
| Test_ID_1 | Échantillon | 11 |
| Test_ID_1 | Échantillon | 14 |
| Test_ID_1 | Échantillon | 9 |
| Test_ID_1 | Contrôle | 11 |
| Test_ID_2 | Échantillon | 9 |
| Test_ID_2 | Échantillon | 8 |
| Test_ID_2 | Échantillon | dix |
| Test_ID_2 | Contrôle | 14 |
| Test_ID_3 | Échantillon | 13 |
| Test_ID_3 | Contrôle | 15 |
| Test_ID_4 | Échantillon | 9 |
| Test_ID_4 | Échantillon | 7 |
| Test_ID_4 | Contrôle | 12 |
Je voudrais générer le tableau suivant à partir du tableau ci-dessus en dépilant ;
| Identifiant du test | Type d'échantillon = Échantillon | Type d'échantillon = Contrôle |
| Test_ID_1 | dix | 11 |
| Test_ID_1 | 12 | 11 |
| Test_ID_1 | 11 | 11 |
| Test_ID_1 | 14 | 11 |
| Test_ID_1 | 9 | 11 |
| Test_ID_2 | 9 | 14 |
| Test_ID_2 | 8 | 14 |
| Test_ID_2 | dix | 14 |
| Test_ID_3 | 13 | 15 |
| Test_ID_4 | 9 | 12 |
| Test_ID_4 | 7 | 12 |
Les données empilées contiennent un nombre varié d'échantillons pour un contrôle donné. Parfois, il existe une corrélation de 1 à 1 entre l'échantillon et le contrôle, mais le plus souvent, il existe plusieurs échantillons pour un contrôle. Le nombre d'échantillons peut varier de un à n mais il n'y a toujours qu'un seul contrôle. J'utilise JMP 16.0.1.
Merci,
Tim
Modélisation statistique avancéeÉtudes de consommation et de marchéMélange et nettoyage des donnéesPersonnalisation de masseRe : Comment désempiler une table JMP avec une structure plusieurs à unVoici un petit script qui convertit votre tableau d'exemple simple dans le nouveau format que vous souhaitez.Il utilise quelques sous-ensembles avec une mise à jour pour accomplir la tâche.
Names Default To Here( 1 );
dt = Current Data Table();
dt << select where( :Sample Type == "Sample" );
dtFinal = dt << subset(
selected rows( 1 ),
columns( {"Test ID", "Result"} ),
Output Table( "Final" )
);
dtFinal:Result << set name( "Sample Type = Sample" );
dt << invert row selection;
dtTemp = dt << subset( invisible,
selected rows( 1 ),
columns( {"Test ID", "Result"} )
);
dtTemp:Result << set name( "Sample Type = Control" );
dtFinal <<UPDATE></UPDATE>

Re : Comment désempiler une table JMP avec une structure plusieurs à unVous pouvez également essayer de créer une colonne de regroupement
Col Cumulative Sum(1, :Test ID, :Sample Type)

Utilisez-le avec Split


Et puis sélectionnez une ligne de la colonne de contrôle et remplissez avec la valeur précédente

et nettoyage (supprimer la colonne de commande, réorganiser les colonnes, renommer si nécessaire)

Cela fonctionne dans ce cas assez simple, mais il est également assez facile de perdre des données lors de l'utilisation de la plate-forme divisée de JMP, alors faites attention (la colonne de commande essaie d'empêcher cela).