Bonjour,
J'ai un projet et mon but est d'extraire de mon tableau de données (1) la valeur moyenne, maximale et minimale de chaque colonne, et d'écrire les résultats dans un nouveau tableau (2).
J'ai trouvé cette partie du code et elle semble fonctionner pour quelques colonnes, mais pas pour toutes. J'ai environ 300 colonnes et j'ai les résultats pour seulement vingt d'entre elles.
For( i = 1, i <= N Col( dt ), i++,
If (:Trial[i] =="TrialName",
If( Column( dt, i ) << get data type == "Numeric",
Write( "\!n", Column( dt, i ) << get name );
Write( Column( dt, i ), "\!nMin: ", Col Min( Column( dt, i ) ) );
Write( "\!nMax: ", Col Max( Column( dt, i ) ) );
Write( "\!nAverage: ", Col Moving Average( Column( dt, i) ) );
Write ("\!n");
)
)
); Je vois les résultats dans les logs mais je n'arrive pas à écrire les résultats dans la colonne de droite de mon nouveau tableau (2).
Voir plus...Ce code affiche quelque chose comme :
Colonne 1
Min : 10
Maximum : 50
Moyenne : 30
Voici un exemple de ce que je veux :
Tableau 1 : Colonne 1 : Colonne 2 : --> Tableau 2 -----> Colonne 1 : Colonne 2 :
10 45,2 Maximale : 50 Maximale : 52,4
20 48,3 Min : 10 Min : 18,3
30 36,7 Moyenne : 30 Moyenne : 40,18
40 52,4
50 18,3
--->
1. Je pense que toutes mes données ne sont pas considérées comme des nombres donc JMP ne veut pas calculer le minimum, le maximum et la moyenne, mais je n'ai pas trouvé de moyen de "forcer" le type de données.
2. Je n'arrive pas à inscrire mes résultats dans les colonnes du tableau final (2).
Je ne demande pas la réponse complète mais seulement des conseils car je suis vraiment coincé.
Merci !
Merci à vous tous pour les astuces ! Je vais travailler dessus la semaine prochaine.
J'ai tout lu, je ne savais pas qu'il était possible de faire ça avec les presets JMP.
Mon point est d'exécuter un script pour avoir le résultat final pour une utilisation facile de tout le monde. Je pense que je peux scénariser l'étape que vous m'avez montrée.
Merci !
Vous pouvez obtenir ce que vous voulez en utilisant JMP de manière interactive. Je vais illustrer avec Fitness du dossier Sample Data. Supposons que la table de données est ouverte.
Étape 1 : Calculer les statistiques
- Lancez le Distribution plate-forme avec toutes les colonnes de données d'intérêt ( Âge à travers MaxPulse ).
- Faites un clic droit sur le Statistiques récapitulatives tableau et sélectionnez Créer un tableau de données combiné .
Étape 2 : Réorganisez les résultats comme vous le souhaitez.
- Sélectionner Tableaux > Fractionner . Sélectionner Oui colonne et cliquez Divisé par . Sélectionner Colonne 2 et sélectionnez Fractionner la colonne . Sélectionner Garde tout . Cliquez sur D'ACCORD .




Je veux seulement illustrer un processus rapide et interactif. Il peut être capturé dans un script comme @txnelson suggéré. Il peut être personnalisé à chaque étape si nécessaire.
Le projet que vous avez décrit peut être généré dans JMP à l'aide de l'une des plates-formes JMP intégrées.Et une fois la plate-forme exécutée de manière interactive, le JSL pour l'exécuter peut être obtenu directement auprès de JMP.Je vous suggère de prendre un chemin différent vers votre solution.
Ci-dessous, il commence la table de données et la table de données résultante après avoir exécuté la plate-forme.


Pour écrire dans une autre table, vous pouvez utiliser certaines de ces options Add Rows() ou New Column(). Write() imprimera simplement les valeurs dans le journal JMP. Ensuite il y a aussi Abonnement aux tables de données , vous pouvez éventuellement utiliser Tabulate() ou Summary() pour calculer les statistiques (peut-être même Distribution en combinaison avec make into datatable).
Pour "forcer" les valeurs à être numériques (soyez prudent avec cela, car cela peut et entraînera une perte de données), vous pouvez essayer d'utiliser << Set Data Type("Numeric")
Pour plus d'informations sur les fonctions, consultez l'index des scripts dans le menu d'aide de JMP.