comparer graphiquement les résultats des données dans les dossiers de donnéesSalut,
Je suis relativement nouveau dans JMP et je cherche à effectuer automatiquement les opérations suivantes, assez difficiles, de préférence via un script JMP automatisé ou toute autre solution que les experts pourraient recommander
.
Mes données:
J'ai deux dossiers de résultats, datafolder1 et datafolder2. Ce sont techniquement les mêmes mesures, il y a une différence mineure dans la configuration et les mêmes mesures sont répétées après et avant le changement.
Chaque dossier contient plusieurs fichiers .txt qui sont les fichiers de résultats au format de tableau .txt. Les fichiers .txt ont les mêmes noms pour chaque dossier et les noms de colonne sont les mêmes. En pratique, seules les données numériques sont légèrement différentes pour chaque fichier.
Ce que je veux:
Je souhaite comparer graphiquement la différence entre le résultat datafolder1 et le résultat datafolder2 pour chaque colonne avec le même nom de .txt et générer une sortie .pdf des résultats. J'ai réussi à générer la sortie que je voulais au format .pdf, mais j'ai dû 8 à 12 heures de travail manuel pour obtenir cette sortie avec le générateur de graphes. Le fichier de sortie s'appelle "wanted_output.pdf". Maintenant, j'ai beaucoup d'autres cas similaires à faire, et le faire manuellement prendrait plusieurs mois.
les fichiers de données sont en pièce jointe. [les données ont depuis été supprimées]
Merci d'avance, je me bats avec ce problème depuis des mois, et j'espère que JMP a une solution simple pour cela !
AnalytiqueTableau de donnéesGraphiqueScriptRe : comparer graphiquement les résultats des données dans les dossiers de donnéesSalut txnelson et Ian
Fonctionne comme un charme! Merci!
J'ai dû changer la variable datafolder2 de dossier1 à dossier2.
De plus, pour une raison quelconque, l'impression .pdf ne s'est pas bien mise à l'échelle, j'ai dû modifier les paramètres d'impression par défaut Fichier => Configuration de la page.
Problème résolu, merci pour l'aide à tous !
PS. J'ai dû supprimer des données du premier message, mais techniquement, tout type de dossier de données avant et après fonctionne avec ce script.
Re : comparer graphiquement les résultats des données dans les dossiers de donnéesEt, comme alternative à @txnelson et en suivant l'idée originale (et en utilisant l'option "Inclure les sous-dossiers") :
NamesDefaultToHere(1);
// Unzip the example file 'net_data.zip' to your Desktop
// Generated via 'File > Open Multiple..': tabList is a list of 'paired' tables
// that are built automatically according to the commonality of column names
tabList =
Multiple File Import(
<<SET folder=""></SET>
Comme d'habitude, l'intégrité des résultats finaux dépend de ce que vous pouvez (et ne pouvez pas) présumer de la régularité des données.
Re : comparer graphiquement les résultats des données dans les dossiers de donnéesJ'ai dû deviner certaines choses, mais le script ci-dessous crée un pdf séparé pour chacun des fichiers trouvés dans les dossiers datatable.J'ai un peu modifié le format du graphique.Il montre toutes les mêmes informations, comme je peux le mieux le déterminer, mais sous une forme légèrement différente.
Dans le script, vous devrez insérer les chemins d'accès au dossier 1 et au dossier 2. Actuellement, les fichiers PDF sont enregistrés dans le répertoire $TEMP.Vous devrez les changer en un vrai dossier.
Names Default To Here( 1 );
// Set folder1 and folder2 paths
folder1 = "path to folder 1";
folder2 = "path to folder 2";
// Get files in datafolder 1 folder
fileNamesList = Files In Directory( folder1 );
For( File = 1, File <= N Items( fileNamesList ), File++,
// Open the file in datafolder1
dt1 = Open(
folder1 || "/" || fileNamesList[File],
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, Comma, CSV( 1 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
// New column: Index
dt1 << New Column( "Index", Numeric, "ordinal", Format( "Best", 12 ), Set Each Value( Row() ) );
// New column: Index
dt1 << New Column( "Measured", Character, Set Each Value( "Before" ) );
// Open the file in datafolder2
dt2 = Open(
folder1 || "/" || fileNamesList[File],
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, Comma, CSV( 1 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
);
// New column: Index
dt2 << New Column( "Index", Numeric, "Ordinal", Format( "Best", 12 ), Set Each Value( Row() ) );
// New column: Index
dt2 << New Column( "Measured", Character, Set Each Value( "After" ) );
// Concatenate tables
// → Data Table( "HW.DiodeTest.ADP_diodes" )
dt1 << Concatenate( dt2, Append to first table );
// Close the After data table
Close( dt2, nosave );
// get all continuous columns in the data table
colNamesList = dt1 << get column names( continuous, string );
theJournal = New Window( fileNamesList[File], <<JOURNAL></JOURNAL>
Re : comparer graphiquement les résultats des données dans les dossiers de donnéesPourriez-vous m'envoyer un message privé dans la communauté JMP ? Je peux peut-être aider un peu plus facilement par e-mail, puis nous pourrons éventuellement publier la solution finale ici.
Re : comparer graphiquement les résultats des données dans les dossiers de donnéesMerci Jarmo pour la réponse rapide!
J'ai en effet besoin d'un JSL pour faire tout cela, cela prend trop de temps pour le faire dans plusieurs autres cas.
En vue architecturale, suivre JSL pourrait s'entraîner :
1.Importez tous les fichiers des deux dossiers.
2. Rejoindre/& concaténer les résultats dans un seul fichier, JMP semble ajouter automatiquement une sorte d'indexation lorsque le nom de la table est le même (de XXXX).
3. Triez les noms de colonne par ordre alphabétique.
4. Tracez les colonnes 1 et 2 dans un seul tracé, tracez les colonnes 3 et 4 pour le prochain tracé, tracez les colonnes 5 et 6 pour le prochain tracé... répétez le tracé des nombres suivants jusqu'à ce qu'il ne reste plus de colonnes.
Tout cela semble facile, mais je n'ai qu'une compréhension débutante de JSL, des conseils et des exemples pour chaque étape ?
Re : comparer graphiquement les résultats des données dans les dossiers de donnéesFichier / Importer plusieurs fichiers pourrait vous permettre de démarrer assez facilement. Vous devrez apporter quelques modifications aux paramètres par défaut lors de l'importation des fichiers (modifier le séparateur de la virgule à la tabulation).
À partir de ce point, vous pouvez commencer à joindre les tables de données. Je ne sais pas s'il existe un moyen simple de le faire, à l'exception de JSL et d'une boucle sur la liste des tables de données que vous venez d'obtenir à l'étape précédente.
Répétez ce processus pour les deux dossiers, puis concaténez les tables de données et créez enfin un graphique avec le générateur de graphiques (vous devrez peut-être empiler les données avant de créer un graphique).