Calcolo di Col Mean () per un sottoinsieme di righe in JSL Script?Ciao comunità JMP,
Qual è la sintassi corretta in JSL per calcolare la media della colonna (o altre statistiche) per una variabile definita sottoinsieme di righe? In una tabella di dati, posso semplicemente usare la formula "Col Mean (:Data Column, :Grouping Column)" ma in uno script JSL questo non sembra essere un uso corretto.
Da notare, sto pensando di usare la forza bruta usando una struttura "Per ogni riga", ma sembra abbastanza inefficiente nella valutazione di oltre 200 colonne con 1000 righe.
Grazie per l'aiuto.
ST
Re: Calcolo Col Mean () per un sottoinsieme di righe in JSL Script?Credo che il modo più semplice ed efficiente per farlo sia usare
Tabelle==>Riepilogo
Questo creerà una tabella di dati molto velocemente, da cui puoi ottenere le tue statistiche per il tuo JSL, o se hai bisogno di riportare le statistiche nella tabella di dati originale, un semplice aggiornamento con corrispondenza lo farà.La gestione di 200 colonne e 1000 righe non è affatto un problema.Di seguito è riportato un semplice esempio che illustrerà come eseguire questa operazione.
names default to here(1);
dt=Open("$SAMPLE_DATA/semiconductor capability.jmp");
colNamesLIst = dt << get column names(continuous);
dtStats = dt << Summary(invisible,
Group( :SITE ),
Mean( colNamesList ),
Freq( "None" ),
Weight( "None" ),
Link to original data table(0)
);
dt << Update(
With( dtStats ),
Match Columns( :SITE = :SITE )
);
close( dtStats, nosave );Re: Calcolo Col Mean () per un sottoinsieme di righe in JSL Script?Ciao comunità JMP,
Ecco cosa ho trovato usando la struttura "For Each Row":
Names Default to Here (1);
dt = Current Data Table ();
ALL_MEAN = Col Mean (:DATA);
MAX_MEAN = -1000;
For Each Row (
if (MAX_MEAN < Col Mean(:DATA, :GROUP,:SGROUP), MAX_MEAN = Col Mean(:DATA, :GROUP,:SGROUP))
);
Show (ALL_MEAN);
Show (MAX_MEAN);
Qualche idea su come renderlo più efficiente?
Grazie,
ST