confrontare graficamente i risultati dei dati nelle cartelle datiCiao,
Sono abbastanza nuovo in JMP e sto cercando di eseguire automaticamente operazioni seguenti e piuttosto impegnative, preferibilmente tramite script JMP automatizzati o qualsiasi altra soluzione che gli esperti potrebbero consigliare
.
I miei dati:
Ho due cartelle di risultati, datafolder1 e datafolder2. Sono tecnicamente le stesse misurazioni, c'è una piccola differenza nella configurazione e le stesse misurazioni vengono ripetute dopo e prima della modifica.
Ogni cartella ha più file .txt che sono i file dei risultati in formato tabella .txt. I file .txt hanno gli stessi nomi per ogni cartella e i nomi delle colonne sono gli stessi. In pratica, solo i dati numerici sono leggermente diversi per ogni file.
Quello che voglio:
Voglio confrontare graficamente la differenza di datafolder1 risultato vs datafolder2 risultato per ogni colonna con lo stesso nome di .txt e generare output .pdf dei risultati. Sono riuscito a generare l'output che volevo in formato .pdf, ma ho dovuto impiegare 8-12 ore di lavoro manuale per ottenere quell'output con il costruttore di grafici. Il file di output si chiama "wanted_output.pdf". Ora ho molti altri casi simili da fare, e farlo manualmente richiederebbe molti mesi.
i file di dati sono come allegato. [da allora i dati sono stati rimossi]
Grazie in anticipo, ho lottato con questo problema per mesi e spero che JMP abbia una soluzione semplice per questo!
AnaliticaTabella datiGraficaScriptingRi: confrontare graficamente i risultati dei dati nelle cartelle datiCiao txnelson e Ian
Funziona come un fascino! Grazie!
Ho dovuto cambiare la variabile datafolder2 da folder1 a folder2.
Inoltre, per qualche motivo, la stampa .pdf non si adattava bene, ho dovuto modificare le impostazioni di stampa predefinite File=>Impostazione pagina.
Problema risolto, grazie per l'aiuto a tutti!
PS. Ho dovuto rimuovere i dati dal primo post, ma tecnicamente qualsiasi tipo di cartella di dati prima e dopo funziona con questo script.
Ri: confrontare graficamente i risultati dei dati nelle cartelle datiE, in alternativa a @txnelson e seguendo l'idea originale (e utilizzando l'opzione "Includi sottocartelle"):
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>
Come al solito, l'integrità dei risultati finali dipende da ciò che si può (e non si può) presumere sulla regolarità dei dati.
Ri: confrontare graficamente i risultati dei dati nelle cartelle datiHo dovuto indovinare alcune cose, ma lo script seguente crea un pdf separato per ciascuno dei file trovati nelle cartelle datatable.Ho modificato un po' il formato del grafico.Mostra tutte le stesse informazioni, come posso determinare meglio, ma in una forma leggermente diversa.
Nello script, dovrai inserire i percorsi della cartella 1 e della cartella 2. Attualmente, i pdf vengono salvati nella directory $TEMP.Dovrai cambiarli in una vera cartella.
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>
Ri: confrontare graficamente i risultati dei dati nelle cartelle datiPotresti inviarmi un messaggio privato nella community di JMP? Posso aiutare forse un po 'più facilmente tramite e-mail e quindi possiamo eventualmente pubblicare la soluzione finale qui.
Ri: confrontare graficamente i risultati dei dati nelle cartelle datiGrazie Jarmo per la rapida risposta!
Ho davvero bisogno di un JSL per fare tutto questo, è troppo dispendioso in termini di tempo per farlo per molti altri casi.
In vista architettonica, seguendo JSL potrebbe allenarsi:
1.Importa tutti i file da entrambe le cartelle.
2. Partecipa/& concatenare i risultati in un file, JMP sembra aggiungere automaticamente un qualche tipo di indicizzazione quando il nome della tabella è lo stesso (di XXXX).
3. Ordinare i nomi delle colonne in ordine alfabetico.
4. tracciare le colonne 1 e 2 in un grafico, tracciare le colonne 3 e 4 per il grafico successivo, tracciare le colonne 5 e 6 per il grafico successivo... ripetere il tracciato dei seguenti numeri finché non rimangono più colonne.
Sembra tutto facile, ma ho solo una comprensione da principiante di JSL, qualche consiglio ed esempio per ogni passaggio?
Ri: confrontare graficamente i risultati dei dati nelle cartelle datiFile / Importa più file potrebbe farti iniziare abbastanza facilmente. Dovrai apportare alcune modifiche alle impostazioni predefinite durante l'importazione dei file (cambia il separatore da virgola a tabulazione).
Da questo punto puoi iniziare a unire i datatables. Non sono sicuro che esista un modo semplice per farlo, ad eccezione di JSL e del ciclo dell'elenco di datatable appena ottenuto dal passaggio precedente.
Ripeti questo processo per entrambe le cartelle, quindi concatena insieme i datatables e infine crea un grafico con il generatore di grafici (potrebbe essere necessario impilare i dati prima di creare il grafico).