Bonjour,
J'ai un projet et mon but est d'extraire de ma table de données (1) la valeur moyenne, maximale et minimale pour chaque colonne, et d'écrire les résultats dans une nouvelle table (2).
J'ai trouvé cette partie du code et cela semble fonctionner pour quelques colonnes, mais pas pour toutes. J'ai environ 300 colonnes et je n'ai les résultats que pour 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 peux voir 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
Maxi : 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 Maxi : 50 Maxi : 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 min, le max et la moyenne, mais je n'ai pas trouvé de moyen de "forcer" le type des données.
2. Je n'arrive pas à écrire 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 !
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.
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.


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 par 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.