Come salvare lo script del grafico con esclusioni di dati?
Spesso salviamo i grafici come script per un uso successivo. Tutto funziona bene fino a quando il grafico non implica l'esclusione dei dati. Ad esempio, vogliamo rappresentare graficamente il recupero dei pazienti che (1) hanno ricevuto un vaccino rispetto a (2) quelli che non lo hanno fatto. I due grafici sono identici - stesse variabili, asse, etichette e stile - tranne per il fatto che (1) esclude la condizione (binaria) "nessun vaccino" e (2) esclude la condizione "vaccino".
Comprendiamo che il grafico si aggiorna ogni volta che vengono modificate le esclusioni di dati (questa è una funzionalità, non un bug). C'è un modo per salvare le esclusioni di dati nello script del grafico , in modo che ogni volta che si esegue lo script, vedremo un risultato basato sulle esclusioni di dati quando è stato creato il grafico?
GraficaRi: Come salvare lo script del grafico con esclusioni di dati?Ci sono diversi modi per farlo. Se si desidera che lo script dei grafici venga eseguito su una nuova tabella dati, lo script richiederà che JSL debba essere aggiunto allo script che passa attraverso i dati e che effettua le selezioni in quel momento. Se l'attività è solo essere in grado di rieseguire il grafico con le stesse impostazioni della tabella dati, ciò che deve essere fatto è creare una nuova colonna del tipo "Stato riga" e quindi salvare gli Stati riga al momento del grafico nella nuova colonna dello stato della riga. Quindi lo script grafico dovrebbe solo essere aumentato per copiare gli stati della riga di salvataggio dalla nuova colonna agli stati della riga della tabella dati e quindi eseguire il grafico.
Ri: Come salvare lo script del grafico con esclusioni di dati?Grazie per la risposta veloce!
1) Puoi indicare una spiegazione su come farlo? "Lo script richiederà che JSL debba essere aggiunto allo script che passa attraverso i dati ed effettua le selezioni in quel momento".
2) Se la soluzione di cui sopra ci consentirà anche di specificare esclusioni nello stesso set di dati, non parlare più. Altrimenti, indicaci una spiegazione su come eseguire questa operazione: "Quindi lo script grafico dovrebbe essere semplicemente aumentato per copiare gli stati della riga di salvataggio dalla nuova colonna agli stati delle righe della tabella dati e quindi eseguire il grafico"
Ri: Come salvare lo script del grafico con esclusioni di dati?Oppure un altro approccio consiste nell'utilizzare un filtro dati locale come parte del grafico. In questo modo l'utente può passare facilmente da un gruppo all'altro.
Ri: Come salvare lo script del grafico con esclusioni di dati?Di seguito è riportato un esempio di salvataggio e utilizzo di una colonna dello stato della riga per ripristinare la tabella dati allo stato in cui era quando è stato eseguito il grafico originale.
names default to here(1);
// Open a sample data table
dt = open("$SAMPLE_DATA/big class.jmp" );
// Set some exclusions and row coloring
dt << select where(:age == 12 & :sex == "F" );
dt << hide and exclude;
dt << color by column(:age);
// Run the graph to get the results desired
Graph Builder(
Size( 522, 486 ),
Show Control Panel( 0 ),
Variables( X( :age ), Group X( :sex ), Overlay( :age ) ),
Elements( Bar( X, Legend( 8 ) ) ),
SendToReport( Dispatch( {}, "400", LegendBox, {Set Title( "" )} ) )
);
// To save the data table status at the time of the graph, simply
// create a new row state column, and copy the row states to it
dt << new column("My Row States", rowstate);
dt:My Row States << copy from row states;
// To illustrate what would needed to be added to the Graph Script
// to recreate the environment it was originally run in, I will first
// clear all of the row states to bring the table back to the
// default blank row states
dt << clear row states;
// Now all that has to be done, is to copy the rowstates from the row state
// column back to the data table row states, and then rerun the graph
dt:My Row States << copy to row states;
Graph Builder(
Size( 522, 486 ),
Show Control Panel( 0 ),
Variables( X( :age ), Group X( :sex ), Overlay( :age ) ),
Elements( Bar( X, Legend( 8 ) ) ),
SendToReport( Dispatch( {}, "400", LegendBox, {Set Title( "" )} ) )
);
Non credo che questa sia una risposta completa alla tua risposta, ma non ero molto sicuro di cos'altro stavi chiedendo. Potresti ribadire quello che stai chiedendo e fornire maggiori dettagli?